Page order specified on page writing screen is ignored by default
|Reported by:||johnbillion||Owned by:|
By default, pages are listed in alphabetical order when wp_list_pages is used. The page order specified on the page writing screen is ignored unless it is explicitly set with the sort_column parameter within the template.
Steps to reproduce:
- Create two or more pages from Write > Write Page and specify a page order using the Page Order box on the right hand side. For example create a page named "Hello World" with page order 1 and a page named "A Boring Page" with page order 2.
- Visit your blog home page and note the page order of the list of pages in the sidebar is ignored and the pages are listed alphabetically.
I propose that wp_list_pages should instead sort first by menu_order and then by post_title (see attached patch). This means if no page order is specified, pages will still be sorted alphabetically which is more asthetically pleasing. However if a page order is specified (for one or more page) then it will take priority over the alphabetical sorting.
Example of a scenario:
Three pages are on your blog:
- The default "About" with no page order (defaults to 0).
- "Hello World" with no page order (defaults to 0).
- "A Boring Page" with page order of 1.
As it is now, these pages would be listed alphabetically, ignoring the wishes of "A Boring Page" to be listed at the bottom.
With my change to wp_list_pages "A Boring Page" will get listed at the bottom, as per the specified Page Order, but the rest of the pages will still be listed alphabetically. Which is nice.
Change History (5)
comment:1 johnbillion — 7 years ago
- Component changed from Administration to Template
- Priority changed from low to normal
- Severity changed from normal to minor
comment:2 foolswisdom — 7 years ago
- Keywords has-patch added
- Milestone changed from 2.3 to 2.2
- Version set to 2.2