WordPress Plugin – My Page Order Archived

This page is an archive for the older versions of My Page Order. All new comments should be made here.

Gives you manual control over the order of your WordPress pages by letting you easily set an explicit order. Works with subpages too. Now with built-in Widget support.

If you’d like to say thank you or make a donation please visit my Gifts and Donations page.

Download My Page Order:


  • Update 3/30/2008: For WP 2.5, I’ve moved all future downloads to the WordPress Plugin directory. This page will stay up as a testament to this plugin’s popularity over the past 2 years.
  • Update 9/30/2007: Checked compatibility with WP 2.3.
  • Update 6/30/2007: The release you’ve all been waiting for!!! Built in widget support, hacking the widgets.php file is a thing of the past.
  • Update 5/17/2007: Javascript include bug fix, won’t mess up the editor now, redownload if you had the previous 2.1.3 version. 2.2 update coming soon but current version should still be compatible. Things are good with 2.2.
  • Update 5/10/2007: Big update! I rewrote the interface and replaced the unfriendly up and down arrows with spiffy new drag and drop ordering. Check it out, definitely worth the upgrade, I’ve only tested on 2.1.3 but it should work on any 2.1.x install.
  • Update 1/22/2007: Updated to WP 2.1.
  • Update 1/14/2007: Checked compatibility with WP 2.0.6, no changes needed.
  • Update 9/8/2006: Checked compatibility with WP 2.0.4, removed annoying javascript popup warning when arrows were clicked without anything selected, pages with no subpages will no longer show up in the dropdown, change to prevent submission if nothing selected in dropdown.

This is my third WordPress Plugin and I’m continuing with the idea of being able to control the order of how things are displayed. Categories and Links have various means of being ordered, there’s just no way to manually set an order.

Pages on the other hand have a means of specifying an order which was introduced in WP 2.0. The Page Order tab was added on the Write Page screen. The way this ordering is implemented though makes it completely useless. The order doesn’t automatically increment when you start a new page and it is a major pain to insert a page where you want it. Got a new page you want to insert at the top of 25 other pages? Have fun incrementing the order on 25 pages (unless it accepts a negative number which is just another bad idea).

This plugin gives you a simple interface that allows you to arrange the order of your static pages. It uses and sets the same field in the database as WP does so if you have set an order before it will be preserved.

Installation instructions:

  1. Move mypageorder.php to /wp-content/plugins/
  2. Activate the My Page Order plugin on the Plugins menu
  3. Go to the “My Page Order” tab under Manage and specify your desired order for pages
  4. If you are using widgets then just make sure the “Page” widget is set to order by “Page order”. That’s it.
  5. If you aren’t using widgets, modify your sidebar template to use correct sort parameter, “sort_column=menu_order”:

Sort attribute

In your templates (accessible through the theme editor or downloading the file off the server) there might be several places your list of pages gets outputed. To use your sort order each instance must have the sort column argument set like the following:


That’s it. Out of the box everything is there to make the manual ordering happen, it just needs a better interface to make it less time consuming for the WP user to manage and my plugin is really just a stopgap measure until something better gets built into the WP release.

If you have any problems let me know, I am more than happy to help resolve any issues you may have. I’ll respond to your comment through email so be sure to put a valid email in. Even if you don’t have problems leave a comment or throw a couple bucks to buy some beer.

398 Replies to “WordPress Plugin – My Page Order Archived”

  1. I am trying to manage my pages so that they act like posts, I guess. I am definitely a newbie so here goes, appologies in advance…

    Please visit my site and look at the, “Articles” paging. I would like to have them archive each month and even each year. The reason that I seperate each article on to a different page is to allow a different comment thread to accompany the related article.

    If, in the sidebar, It showed only the current month’s articles and the headings for the prior months, it would be great. Like this…

    Aug 08
    first title
    second title
    Jul 08
    Jun 08
    May 08
    Apr 08
    Mar 08
    Feb 08
    Jan 08
    Am I nuts? or is something like this possible?

    If everything except the current month’s stuff was in a seperate archive header that would be cool too.

    I don’t speak php or css and have been known to be challenged in English! Any input would be appreciated.

  2. @fundamental Charlie. Why wouldn’t you use posts instead of pages. They are designed to be archived exactly as you would like.

    That way you also have full RSS and fully automatic archiving in standard mode.

    In the sidebar you need to show the archives widget and probably latest posts. Somehow you have the whole WordPress concept exactly backwards.

    Also having comments on posts is standard practice whereas most people wouldn’t like their pages to be full of comments.

    You don’t really need the extra “pages” widget to be displayed at all.

  3. Ok. Great plugin. Thank you for your hard work.

    My problem is this: I’m displaying *only* the subpages for each parent and the My Page Order is not working.

    Is this possible?


  4. I’m only output the sub-pages and trying to order them:

    wp_list_pages(‘child_of=68&title_li=&sort_column=post_title’ )

  5. Hi!

    Do you have an idea when the 2.6 version will be available?

    I’ve been looking too long for a great plugin like this one :)

  6. what does this mean???
    Fatal error: Call to undefined function wp_enqueue_script() in /mnt/w0900/d27/s19/b02e868d/www/honeykain.com/wp-content/plugins/my-page-order/mypageorder.php on line 22

    it comes on a white page every time I try to implement the my page order

  7. I have installed and activated the plugin and can move the pages with the drag and drop interface, but it has no effect on the page order as it appears on the blog. Everything looks fine on the interface, but on the blog nothing has changed. Would be most grateful for some help as this plugin seems great if I could get it to work. (I haven’t included my blog url as it is still not ready to go public)

  8. I am translate po file of your plug-in to my language (Persian). How can I send to you?

    Mohammad Samini

  9. Hi, thanks for your great plugin. I don’t see more release history for this plugin on your site. I want to know what is new between 2.5.1 and 2.6.1 and if I really need to upgrade. Thanks for your answer.

  10. Is there any way this can be implemented to sort pages in order of the last update? The page that was updated last will be on top?

  11. Hi. Just what I needed.
    BTW you haven’t provided and email address to contact you for translations. I have the Persian (Farsi) translation ready.
    Would be great if you included a language string for the submenu name in your next release so it too can be translated.

  12. Sweet ‘n simple. Might want to check the positioning in the WP 2.7 (Beta) admin – it shows up under ‘Posts’ instead of under ‘Pages’. (Glad it shows up at all though!)

  13. Your page order one works great!

    Wondering if you have a plugin (or suggestion) for limiting the number of posts on the main page. I tried one called random posts, but it didn’t work.

    I want to limit the number of posts on the home page, shouldn’t be too tough, but having trouble with it.

    Also, do you know of a way of hiking selected posts so they won’t show on the home page but display elsewhere, such as in side bars.


  14. Hi,

    I would LOVE to use this plugin, but I get the following errors when trying to install (I’m using WP 2.7 and my theme is “Elegant Grunge”):

    On the Manage Plugins page, the following appears:

    Plugin activated.

    Warning: main(/homepages/35/d114473329/htdocs/sab/blog/wp-content/plugins/my-page-order/) [function.main]: failed to open stream: Success in /homepages/35/d114473329/htdocs/sab/blog/wp-settings.php on line 465

    Warning: main() [function.include]: Failed opening ‘/homepages/35/d114473329/htdocs/sab/blog/wp-content/plugins/my-page-order/’ for inclusion (include_path=’.:/usr/lib/php’) in /homepages/35/d114473329/htdocs/sab/blog/wp-settings.php on line 465

    Then when I try to logout of WP, I get almost two pages of this error (with varying line numbers referenced):

    Warning: Cannot modify header information – headers already sent by (output started at
    /homepages/35/d114473329/htdocs/sab/blog/wp-settings.php:465) in
    /homepages/35/d114473329/htdocs/sab/blog/wp-login.php on line 255

    Does anyone know why these errors might be happening and how to fix them?


  15. I have instaled { MY PAGE ORDER }in the plug in folder
    but it will not show up in the manage plugin dashboard
    so i cannot activate it as it is not there to activate can you help..

  16. Just only got started on WordPress and already putting up my second site. Don’t really get why the default page order function is so wonky. Love this plugin. Simple and works great! Thanks!

  17. Hi –

    Just found this, and I’m trying to use it with 2.7.1. So…from where do I use the plug-in? I can’t find it in my dashboard. Thanks…

  18. Hello Sir,

    this question might frustrate you. But I am more into trouble.

    I have tried all the tips and tricks of this plugin. I am able to see the my page order in the Pages menu in the dashboard. When i Go into the my page order, I can see order subpages, order pages. And am also able to see the 4-sided-arrow-mouse that moves the pages up and down. then I click order pages.
    Then …. nothing happens. Please guide me. Thank YOU.

  19. I just installed your plugin and it wouldn’t work, so I tried putting some of the code into the sidebar.php. When I did that the entire sidebar disappeared. I used:

    Doo you know what I can do?


  20. By changing line 14: from “add_submenu_page(mypageorder_getTarget(), ‘My Page Order’, ‘My Page Order’, 5,”mypageorder”,’mypageorder’);”

    “add_submenu_page(mypageorder_getTarget(), ‘My Page Order’, __(‘My Page Order’, ‘mypageorder’), 5,”mypageorder”,’mypageorder’);”

    The menu button also gets translated instead of always saying “My Page Order”.

  21. Hello,

    An advanced apologies if this has been covered already but…
    is this plugin compatible with MU?

    Thanks in advance.

  22. get_results(‘select ID, post_title from ‘. $wpdb->posts .’ where post_status = “publish” and post_type = “page” order by ID’);

    return $these_pages;

    function list_all_pages(){

    $all_pages = get_the_pa_ges ();
    foreach ($all_pages as $thats_all){
    $the_page_id = $thats_all->ID;

    if (is_page($the_page_id)) {
    $addclass = ‘ class=”current_page”‘;
    } else {
    $addclass = ”;
    $output .= ‘ID).'” title=”‘.$thats_all->post_title.'”>’.$thats_all->post_title.’‘;

    return $output;


    if (is_home()) {
    $addclass = ‘ class=”current_page”‘;
    } else {
    $addclass = ”;
    echo “Home“;
    echo list_all_pages();?>

    These were all the references I could find in ANY of my theme files to pages.

    I’m using the StudioPress_Red theme.

    Can somebody please offer some advice…I’m s**t out of luck :-(

    Thanks :-)

  23. I have installed and activated in the Atahualpa Theme. Shows up in the Plugins as active, but no way to access it because will not show up in “Tools.” Atahualpa does not have “manage” referenced in your installation instructions. Works with Atahualpa? Thanks so much. Ray

  24. Thanks so much for this plugin! I use WP as a CMS with a blog, not so much the other way around, so being able to set page order (and then retrieve/display with my own methods) has saved me loads of time.

  25. Hello,

    I have one (surely) simple question:
    we put your programm into our WP. I now want to put the “Kontakt” above Survival-Abenteuer (see: http://www.gauditours.de/adventure-sport/) on left navigation-bar. So I put the latest article “Survival-Abenteuer” below “Kontakt” in MPO, but it does not work.
    Do you have a hint?

    AND: I do not have a dropdown to choose subpages, I only have a FULL list of all articles ever written. So I cant see, which article belongs to which top-navigation point.

    I would be glad if you might help me.
    Regards from sunny Germany,


  26. This Plugins does’nt seem to work with WordPress 2.8 because of JavaScript problems.

  27. The javascript errors with WP 2.8(beta) can be fixed by wrapping the initial jQuery-call in the standard “ready”-function:

    placeholder: “ui-selected”,
    revert: false,
    tolerance: “pointer”

    (The first and last lines in the above have been added.)

  28. I have made some small changes to version 2.7.1, per the list below. The new version can be downloaded from http://www.wasab.dk/morten/2009/06/my-page-order.2.7.1mf.zip

    * Danish translation added.
    * Made menu button translatable per comment #188 from Joakim (http://blog.deviouswork.com/).
    * Changed subpage button text to “Click to Order Subpages” to improve UI consistency and make separate translation of header and button possible.
    * Fixed JavaScript-problem (Error: jQuery(”#order”).sortable is not a function) with WordPress 2.8-beta2.

Comments are closed.