Simple Page Ordering

Order your pages (and other hierarchical post types) with simple drag and drop right in the post list.

Order your pages, hierarchical custom post types, or custom post types with “page-attributes” with simple drag and drop right from the built in page list.

Simply drag and drop the page into the desired position. It’s that simple. No new admin menus pages, no clunky, bolted on user interfaces. Just drag and drop on the page or post-type screen.

The plug-in is “capabilities aware” – only users with the ability to edit others’ pages (editors and administrators) will be able to reorder content.

Integrated help is included: just click the “help” tab at the top right of the screen.

Please note that the plug-in is not compatible with Internet Explorer 7 and earlier, due to limitations within those browsers.


We’d love to have you join in on development over on GitHub.

Dragging the page to its new position

Processing indicator

  • Rating
  • Requires 6.3+
  • Downloads 3,578,548
  • Updated 2024-06-03
  1. hey there!
    i always missed this feature! unfortunately it breaks the quick edit feature in wordpress. it’s not possible anymore to enter something in the text fields. do you consider expanding this functionality to posts too? that would be awesome!

    keep up the great!

    • Thanks for the bug catch! This should be fixed in a just released update. I’m not intending to add this to posts, since posts, by their nature, are ordered by their publication date. What would the use case be?

  2. Thanks for this plugin, Jake. It’s exactly what I’ve been looking for. Anything special I need to do to make this work for custom post types? It’s currently working for Pages, but none of the custom post types I have defined (which are all heirarchical) have have the drag and drop enabled.

    • Same problem here. Installed on a WP 3.1.1 site with a custom hierarchical post type, and drag and drop is not showing up for it. Any tips?

      • Are you certain it’s been set as hierarchical? Do you have custom columns?

        • I’m having the same issue. Is there a resolution to this? I have custom post types, and I can order them in the admin, but their order does not change on the site.

          • You probably need to modify the part where you’re retrieving / showing the posts to sort them by menu_order.

  3. Great work! I got it working with custom posts.

  4. How about a modifier key? The page becomes a child of the page it is over if shift is pressed while dropping…

    • Interesting idea, but I’m afraid that wouldn’t be obvious. I’m exploring some more intuitive alternatives.

  5. Hey Jake, cheers for such great plugin man, it works like a charm!

    Love the idea of being able to see up to 100 pages ‘per page’, but it would be GREAT if you could save this setting in the DB so it always shows 100 (or whatever number you want) by default, instead of having to filter it. Also, what someone said re the ‘quick edit’ issue.

    But still, very solid. Thanks again :)

    • I thought Quick Edit was fixed in my latest release. Can you explain?

      It’s supposed to save your preference for the filter as well… I’ll have to investigate that.

      • My apologies, I think the Quick Edit thing is working all fine (not sure why I said it wasn’t, sleep deprivation!)

        However, the filter isn’t keeping the preference. I’m using WP3.1.2 and I’m not using and plugins that could clash with it.

        Hope this helps man

  6. Hi there! Great plugin. Many thanx!
    Having some problems though. Working nicely on our local development server using WP 3.1.3. But has ordering issues online (same configuration).

    Does this plugin use server-dependent features somehow?

    • No, but low end shared-hosting servers often aggressively time out AJAX requests (which this relies on). I had some very bad experiences with Bluehost and timed out AJAX requests (across a variety of plug-ins), for instance.

    • i am having problems too with the ordering…
      i am getting this error:
      Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 597642 bytes)

      i do have a 200+ on the website and i am using wordpress version 3.0.4.

      it seems that the ordering script is running all the pages everytime i try to move a page.

      i tried to filter the number of pages that are displayed before proceeding with the ordering as i thought it may only run the script on the displayed pages but sadly that didnt work!

      anyone has any suggestions?

  7. Hi Jeke, great plugin, it works fine, thanks!
    Do you think it would be possible to create such a plugin to sort the links (blogroll) always with drag and drop?

    • Maybe, but it would need to be built from scratch. Not on my radar at the moment, unless a client wants to pay for it!

  8. Hi _Jake, it’s a great plugin, but i can’t make it work! I think is my theme : Atmospheric Augmentation…im tryin hard to make it work, also tryn others plugin…but always the pages are in alphabetical order….i hope u can help! Best regards…

  9. sorry to knock again. the problem is now solved.
    this is really a rocking plugin.

  10. Hi Jake, awesome plugin!! Thank you very much!

    Just what WordPress has been missing.
    Perhaps you can submit it for making it part of the core!

    One suggestion for improvement:
    If the plugin would check for current_user_can(‘edit_pages’) instead of current_user_can(‘edit_others_pages’), it would also allow users who can only edit their own pages *(but not others pages) to use the plugin

    I tried it out, and it works fine. Except .. when a user tries to sort 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.”

    I think could be mend if the plugin would also check whether the current user is the post_author. Do you think that is doable?

    • The flaw in your logic is that when your changing the order of your page, you’re also necessarily changing the order of the pages around it. If you move your page to position 1, aren’t you moving the page with position 1 into position 2? It seems to me most use cases would demand that only a user capable of editing all pages should be able to reorder them.

  11. I upgraded to the 1.0 version of the simple-page-ordering plugin this morning, and I am getting an error message (
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/content/s/i/n/singer1966/html/Sandy-Roe/wp-content/plugins/simple-page-ordering/simple-page-ordering.php on line 54 I am still using WorkPress 3.1.3. (I was going to upgrade WordPress too, but now I can’t even get into the admin panel. I love this plugin! Any fixes?

    • I wonder if you’re using an old version of PHP (older than 5.2, which WordPres 3.2 and newer require).

  12. Use case for post ordering: I often use a posts category for slides, features, etc – would be nice to be able to order these not by date.

    • If you add ‘page-attributes’ support to your non-hierarchical post types, they will get ordering capabilities via a “Sort by Order” filter option on the edit page. You can add page-attributes to posts by adding the following to your theme’s functions.php file (or creating a simple plug-in):

      add_action( 'init', 'add_page_attr_to_post' );
      function add_page_attr_to_post() {
      add_post_type_support( 'post', 'page-attributes' );

      • Does doing this mean that Simple Page Ordering will work on those post-types, then? I’ve added the add_page_attr_to_post action you posted above to functions.php and the Post Edit pages now are showing Attributes boxes with Order fields in them, but I don’t have drag and drop on the listing page for the custom post type. I’m using Pagelines Pro (with the Pagelines Base child theme, which is where the functions.php I’m using is) as my theme, and drag and drop worked off the shelf for regular Pages as soon as I installed the plug-in. Love to hear your thoughts…

  13. HI!
    Great Plugin!

    Idea for Hirerchy:

    1. Item droped will be by default the same level as the item above it.
    2 add 2 javascript links per post <> which can move the post hirerchy level.

    What do you think?

    • What if you want to move a child page to the top of the child pages? Does it become a child of its parent?

  14. Very slick plugin. Was confused at first on how to order pages. Did not realize that I had to drag the WHOLE page section up or down. Thanks for this. Much appreciated.

  15. Thank you SO much!

    I tried another page organizer with a slippery drag ‘n’ drop [and try again and again] plus I hadda go back and forth to the WP “All Pages” dialog. This one is a piece o’ cake with everything together where it should be.

    As soon as I can spare some cash, I’ll send some your way.

    Thanks again, Jake!

    • Thanks for the feedback!!

  16. Just want to say … GREAT IDEA ! and GREAT PLUGIN !
    If you also solve the problem of changing parents then … this plugin will be the best!

  17. The plugin seems amazing but doesn’t work for me :(
    The plugin UI seems to work, I can reorder the pages, but as soon as I refresh or exit and reenter the admin the order returns to what it was. Please advise!

    • Sounds like your host is timing out the AJAX request. This is more likely if you have large numbers of pages at the same level.

    • The problem was in fact a plugin collision with Custom Content Types Manager
      I did some back and forth with its super nice dev and we got the problem solved! :)

      More detail here:

  18. I’m guessing your host may be timing out the AJAX request. Do you have a very large number of pages at the same depth?

  19. Hi. Is there any way to make this plugin work for non-hierarchical custom posts? I really need it.

    • It does, but the post type have must have “page-attributes” support. You can then click “Sort by Order” above the post list, and then set the menu order with drag and drop.

  20. I just installed this plug-in and was able to change my page order effortlessly. Thank you for building this plug-in, it has helped keep my blog looking the way I want it to look.

    Dan Brownell
    The Rub-Down

Leave a Comment

Finely crafted websites & tools that make the web better.