Simple Page Ordering 2.1 for WordPress
Order your pages (and other hierarchical post types) with simple drag and drop right in the post list.
Simply drag and drop the page into your desired position! It’s that simple. No new admin menus pages, no dedicated clunky user interfaces. Just drag and drop on the page list screen.
To facilitate the menu order management on sites with many pages, the plug-in also adds a new drop down filter allowing you to customize the paging (pages per page) on the page admin screen. Your last choice will even be saved whenever you return (on a user to user basis and post type by post type basis)!
The plug-in is “capabilities smart” – only users with the ability to edit others’ pages (i.e. editors and administrators) will be able to reorder pages.
Integrated help is included! Just click the “help” tab toward the top right of the screen; the help is below the standard help for the screen.
Note that this plug-in only allows drag and drop resort within the same branch in the page tree / hierarchy for a given page. You can instantly change the hierarchy by using the Quick Edit feature built into WordPress and changing the “Parent” option. This may be addressed in the future, but the intention is to avoid confusion about “where” you’re trying to put the page. For example, if you move a page after another page’s last child, are you trying to make it a child of the other page, or position it after the other page? Ideas are welcome.
You must have JavaScript enabled for this plug-in to work.


When my custom post type can have multiple categories, but only a single category is set, setting the sort order upsets the sort order of all the other items. Is there a way to get this to work with categories?
Hi Jake
Love the plugin, but with my heirarchical custom posts I can’t re order them. I am using custom columns, is this the problem, if so is there a way to fix? The post types have ‘page-attributes’ support as well.
Cheers
For the plug-in to work, you must use the title column with the hidden Quick Edit fields.
Great plugin, love the simple functionality.
Any chance this can be adapted to portfolio items. This would probably make my year.
Thanks.
m
It can be used for any kind of custom post type, as long as it is either hierarchical or supports “page-attributes” and uses WordPress’s native “Title” field in the table list. Even if it’s neither, you can use the “simple_page_ordering_is_sortable” filter to force the post type to allowed to be sorted. If a third party custom theme or plug-in doesn’t inherently support any of these inherently, you’ll need to figure out the formal registered name of the custom post type (e.g. “tenup-portfolio”), which you can find by looking at the URL on the edit screen for that post type, and be comfortable making a super simple plug-in or adding a few lines of code to your theme’s functions.php.
You can add “page-attributes” support to the post type:
add_post_type_support( 'name-of-post-type', 'page-attributes' );Or by using the ‘simple_page_ordering_is_sortable’ filter:
add_filter( 'simple_page_ordering_is_sortable', function( $sortable, $post_type ) {if ( $post_type = 'name-of-post-type' )
$sortable = true;
return $sortable;
}, 10, 2 );
Note that callback functions (the inline ‘function( …’ requires PHP 5.3 or newer).
Very useful! Thank you a lot!
Jake, sweet plugin. What would it take to make page w/ sub-pages collapse and expand?
With sites growing in mass w/ an infinite number of pages, managing all of them is a challenge – but it they could expand and collapse by group it’d be pretty sweet.
Hi Jake,
I had a lucky “windfall” at the end of the year, so now I can finally afford to thank you and so many other developers with donations–sorry it couldn’t be more.
Meanwhile… The page ordering plug-in used to work, and now it doesn’t. When I try to drag a page, the cursor turns to a “taboo” sign.
My WP ver is 3.2.1 and my theme is Suffusion. I tried disabling other plugins installed after this one. That didn’t help, so I installed your recent update. When it’s activated, I can’t access the page list at all–an error message blames Line 63 [regarding the Help feature].
I hope you can help, because right now I need to re-organize some pages, and I miss doing it the easy way!
Thanks again for your work, Anna
Thank you for an amazing plug-in. Once I discovered that you could change the number of show pages, it was an amazing help!
Is there any way to hook-up this plugin into a theme?
I forgot your plugin is AWESOME!
I don’t seem to be able to reparent pages reliably by drag-and-drop with this plugin. Is this supported? Unsupported but sometimes works by accident? Completely unsupported?
I had two pages on the same level, and I just dragged the page higher in the list directly below the other page, and the page I moved ended up the child of the other page. This just *happened* to by my intention, but what if it weren’t? There seems to be no indication during dragging whether the page will be dropped *below* or *into* the hovered-over element.
Please see how reordering items in the standard menu editor is done, and emulate this.
Ahh, sorry, didn’t RTFM… but in the specific case I described reparenting did happen!
Great plugin, love the simple functionality.
Jake it makes sense to order posts
Lets say for example that we have a custom post type that is used for the Nivo slider. Each document represents a image in slider. In this case it will be nice to change the order of slides.
Maybe you missed my point. What I meant was when someone has the ability to edit their own pages (but not someone elses pages), it would seem logical to me the admin would want that user to also have the ability to change the pageorder of their own pages (but not the pageorder of someone elses pages).
You can achieve this by letting the plugin check for current_user_can(‘edit_pages’) instead of for current_user_can(‘edit_others_pages’).
The only caveat with that is that when a user hovers his mouse over someone elses pages, the cursor also changes to the drag-and-drop cursor, and the plugin will erroneously give the alert: “Items can only be repositioned within their current branch in the page tree / hierarchy …etc.”
This could be solved by letting the plugin also check whether the current user is the post_author. But perhaps there is a better way to fix this.
I think as a general rule, if an administrator / editor doesn’t want a user to have the ability to edit others pages / content, they don’t want the user to have the ability to choose where there page fits into the whole hierarchy of pages. But I can investigate.
Hmm, can’t see why that code would cause that. Can you find out what version of PHP you’re running?
sorry to knock again. the problem is now solved.
this is really a rocking plugin.