Simple Page Ordering for WordPress
Simple Page Ordering is a WordPress plug-in that allows you to order your pages (and other hierarchical post types) with simple drag and drop. Also adds a drop down to change items shown per page.
Description
The following video is from an earlier build (0.7) that has been since refined.
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.
This plug-in is being released as a “beta” in the Google sense. There are no known issues, but it requires much more comprehensive testing with custom post types and environments with large numbers of pages before we can label it “1.0″. You must have JavaScript enabled for this plug-in to work.
Installation
- Install easily with the WordPress plugin control panel or manually download the plugin and upload the extracted
folder to the `/wp-content/plugins/` directory - Activate the plugin through the ‘Plugins’ menu in WordPress
- Start dragging and dropping by going to the “Page” admin menu (or custom post type equivalent)!
As always, feedback and suggestions are welcome!



Doesn’t work, at least not for my site. I have WP 3.0. upon activation, i get a bunch of garbled text.
Warning: Missing argument 2 for spo_edit_posts_per_page() in /home/jcadesi1/public_html/mywebsite.org/wp-content/plugins/simple-page-ordering/simple-page-ordering.php on line 54
Warning: Cannot modify header information – headers already sent by (output started at /home/jcadesi1/public_html/mywebsite.org/wp-content/plugins/simple-page-ordering/simple-page-ordering.php:54) in /home/jcadesi1/public_html/mywebsite.org/wp-includes/pluggable.php on line 890
Warning: Cannot modify header information – headers already sent by (output started at /home/jcadesi1/public_html/mywebsite.org/wp-content/plugins/simple-page-ordering/simple-page-ordering.php:54) in /home/jcadesi1/public_html/mywebsite.org/wp-includes/pluggable.php on line 890
Soccer Guy – the latter two errors are caused by the existence of the first error (content being spit out before the page loads).
Do you have WordPress in debug mode? Let me know if shutting it off makes it work. In the meantime, I’ll investigate.
Does it happen everywhere, or only on the pages screen?
Soccer Guy – turns out there was actually a change in 3.0.1 to the filter I’m using that reveals the post type. So you must have 3.0.1 or newer (3.0 not supported).
Great plugin! As a teacher with a WP blog, I have a lot of pages to juggle on a weekly basis (in particular, activating and deactivating pages with spelling words). The page count option helps me to speed up my work and jump directly to the page I want (instead of having to go through the pages 20 at a time), and the reordering feature will allow me to push pages I’m done with to the bottom of the list. Thanks!
This plugin isn’t ordering the pages. No errors or anything. The pages just don’t change order. My website is http://www.blingbytheyard.com and I’m using Ulf Pettersson’s older Modern theme. http://www.ulfpettersson.se/design/modern/
Any suggestions would be helpful.
David
David – my guess would be AJAX requests timing out on a low end shared host. I did have one user who thought this would reorder pages on the front end, and didn’t realize she was using the 3.0 menus feature for the front end…
I can’t get it to work for 3.0.1. It won’t reorder any pages. I can’t even get the default page ordering (with numbers) to work now. I was going to uninstall to see if I can get the default order to work, but I only have one page I need to move for now, so I’d like to see if I can get this working.
Thanks,
Karen
This is proving to be invaluable in an educational context where lecture notes/slides sit on pages/sub-pages and need to be re-vamped and re-jigged at this time of year. It’s saving me a load of time. Thanks.
Hello,
Using your plugin with WP 3.0.1 and i notice the max. posts in the backend is set equal to the general settings (in my case just 3).
Now when i try posts>>screen options>>Show on screen 25 Posts
i still get a maximum of 3 posts??
Any idea how i can fix this???
regards
Fixed in 0.9
I love the plugin. It’s so easy to use. One suggestion I had was that if I had specific columns hidden using the Screen Options pull-down, when I drag a page, the hidden columns show up again. It just looks a bit odd. Here’s a screenshot.
http://cl.ly/2THR
Thanks,
Matt
Hey, I was having some problems as well. Your plugin was setting menu order values to -1 which was causing some issues when displaying hierarchical navigations. Also, since you weren’t updating the order with javascript, if a user reorders and then uses quick edit, things get messed up. Made a few simple changes that fixed things. Send me an email and I’ll send you the updated code.
Simple Page Ordering?
How about “Serious big thanks because this plugin is fantastic – page ordering”.
I met my client today and we have 80 pages, some 3 deep.
Your plugin just saved me 1 hour.
I can’t thank you enough.
And for anyone who has problems with page ordering after doing this, it will be your menu class perhaps forcing ordering by a-z.
Serious thanks again, it worked a charm, only issue I had was the CSS didn’t seem to apply the crosshair, I’m on latest firefox and Mac OSX snow leopard. No biggie.
The plugin worked for me, however it worked with a catch. I found that after plugin activation, when looking at my posts list in the Posts Dashboard, it would only list one post per page instead of my usual twenty per page. I tried altering the “Screen Options,” but the problem persisted. The only way I could get back to my normal viewing was to disable the plugin. Ultimately leaving the plugin disabled until needed isn’t that big of a deal, but I thought you should be aware of the bug I experienced.
Cheers,
-R
Thanks for writing this plugin. One of the best and most simple page ordering plugins so far!
Tried it… it works in the admin interface, at least it goes through all the movements. But the result is not stored. So it does not work.
WP 3.0.1
problem solved…. it was the theme that was sorting in it’s own order (configurable)
Now it works, but the screen does not update correctly yet, hmmm, I will figure it out.
I can’t get my page http://www.jamesfitness.tv/workouts to display
in the second tab position. I installed your plugin. Cool job! Does
it actually change the page order in navigation, or just allow you
to organize your pages window? Thanks!
It’s for the front end, but there are many ways to output navigation. If the navigation is being output from the page list, and is ordering the output by “menu order” (which this plugin sets), than it will change the front end navigation. If you’re using the custom menu navigation built into WordPress (as of 3.0), this will have no effect.
Hi,
Neat little plug in. Less hassles then others around.
Would it be possible to have a “hide a page” option ?
It would… something I’ll consider for a future update.
I am just beginning to work with WP (used Joomla earlier) and I miss practically 100 admin tools in default install. So thank you very much for making my life easyer with functionality which should be included in default wp install! I am too for hide page which I had in Joomla too.
Cvijaxo
WordPress 3.0.5
Plugin 0.9.1
It works with Pages view but it does not work with anything else. Not even Posts. The Show X posts does not show up in anything other than pages as well.
Correct. It only supports *hierarchical* post types like pages.
thank you for the follow up. Is there hope that it will support non-hierarchical posts types in the future? There is another plugin out there that does work on these but it only shows the title in a list. Nothing else yet.
I’m using custom post type pages. How can I order it by this plugin?
If you have a hierarchical post type (like pages) just drag and drop the row in the list of “posts”.
This plugin is great, but one problem — for my list of custom post types (“Newsletter Articles”), I have created custom columns (excerpt, and some data from custom meta boxes).
The column headers are displaying, but the contents of each column no longer appear while your plugin is active.
Oh, ignore this issue. It’s an error on my end caused from changing my custom post type to hierarchical!
And if anyone has the same problem (assuming their original custom post type was NOT hierarchical): when defining your columns, make sure to use manage_pages_custom_column instead of manage_posts_custom_column.
Great plugin! Here’s a tip for making custom post types that are hierarchical sort according to “menu_order”. (In my case, I wanted my custom post types listed in a category, but sorted manually.) For WordPress 3.1, look in wp-includes/query.php around line 2291. Under “case ‘menu_order’:” add “$orderby = ‘$wpdb->posts.menu_order’;”. Then in your query_posts arguments, specify “‘order’ => ‘ASC’” or else the posts will be reverse of what you see in the backend.
Thanks for this plugin! I run several sites and this is always a tedious task to reorder pages. I’m so glad you are keeping this plugin up to date.
I have one suggestion for you… Since this is purely an administrative plugin, would it be possible to enable it and disable it by putting a button in the pages view which says, “Change Order Using Simple Page Ordering” which activates the plugin and changes the name of that button to “Done Changing Order” which you can click when you are finished which then turns off the plugin.
This plugin is pure gold, man. Thanks!