A simple and easy way to reorder your custom post-type posts in WordPress. Adds drag and drop functionality for post ordering in the WordPress admin panel. Works with custom post-types and regular posts.

We consider Reorder Posts a developer tool. If you do not know what menu_order or custom queries are, then this plugin is likely not for you.


  • Adds “Reorder” sub-menu to all post types by default
  • Hierarchical post type support (i.e., supports nested posts)
  • Allows you to re-nest hierarchical posts
  • Auto-saves order without having to click an update button
  • Dedicated settings panel for determining which post types can be reordered
  • Advanced settings panel for overriding the menu order of custom post type queries


Spread the Word

If you like this plugin, please help spread the word. Rate the plugin. Write about the plugin. Something 🙂


  • German

If you would like to contribute a translation, please leave a support request with a link to your translation.

You are welcome to help us out and contribute on GitHub.


Please feel free to leave a support request here or create an issue on GitHub. If you require immediate feedback, feel free to @reply us on Twitter with your support link: (@ryanhellyer or @ronalfy). Support is always free unless you require some advanced customization out of the scope of the plugin’s existing features. We’ll do our best to get with you when we can. Please rate/review the plugin if we have helped you to show thanks for the support.


This plugin was originally developed for Metronet AS in Norway.

The plugin is now independently developed by Ryan Hellyer, Ronald Huereca and Scott Basgaard.


  • Reorder Posts allows you to easily drag and drop posts to change their order
  • Admin panel settings


Either install the plugin via the WordPress admin panel, or …

  1. Upload metronet-reorder-posts to the /wp-content/plugins/ directory.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.

For each post type, you will see a new “Reorder” submenu. Simply navigate to “Reorder” to change the order of your post types. Changes are saved immediately, there is no need to click a save or update button.

By default, ordering is enabled for all post types. A settings panel is available for determining which post types to enable ordering for.

Advanced customization is allowed via hooks. See the Plugin Filters on GitHub.

This tool allows you to easily reorder post types in the back-end of WordPress. How the posts are sorted in the front-end is entirely up to you, as it should be.

We do have advanced settings under Settings->Reorder Posts, but these should only be used for testing purposes.

You’ll want to make use of WP_Query, get_posts, or pre_get_posts to modify query behavior on the front-end of your site.

Examples of each are on the respective pages above. You are welcome to leave a support request if you need help with a query and we’ll do our best to get back with you.


Where’s the settings page?

The settings are located under Settings->Reorder Posts. Settings are optional, of course, as the plugin will work with no configuration. We consider the settings useful for only advanced users (i.e., users with coding experience).

Where is the “save” button when re-ordering?

There isn’t one. The changes are saved automatically.

Do I need to add custom code to get this to work?

Yes, and no. There are many ways to retrieve posts using the WordPress API, and if the code has a menu_order sort property, the changes should be reflected immediately.

Often, however, there is no menu_order argument. In the plugin’s settings, there is an “Advanced” section which will attempt to override the menu_order property. Please use this with caution.

Can I use this on a single post type?

You are able to override the post types used via a filter (see below) or navigate to the plugin’s settings and enable which post types you would like to use.


add_filter( 'metronet_reorder_post_types', 'slug_set_reorder' );
function slug_set_reorder( $post_types ) {
    $post_types = array( 'my_custom_post_type', 'my_other_post_type' );
    return $post_types;


Does the plugin work with hierarchical post types?

Yes, but be wary that the plugin now allows you to re-nest hierarchical items easily.

Does it work in older versions of WordPress?

This plugin requires WordPress 3.7 or above. We urge you, however, to always use the latest version of WordPress.

Does this sort posts within a category (i.e., a term)?

No, but there is an add-on for this plugin called Reorder by Term you should check out.


دسمبر 26, 2023
Thank you very much for this. The use case fits perfectly for developers indeed. It doesn’t pollute the front-end’s default view and only works when specified within custom queries. Exactly what I needed. Thank you once again, keep up the great work 👍
اکتوبر 13, 2022
Does exactly what it says without adding complexity or additional obstacles. Thank you!
سپتمبر 25, 2020
Thank you for this very handy plugin to allow me to provide drag and drop reordering to my client for a custom post type I created.
اکتوبر 23, 2019
The posts were in no particular order when in settings. Was expecting them to be ordered by date like they are in “all posts”. It was random and the other settings wasn’t able to adjust that.
مې 16, 2019
on most WP sites I’ve programmed it doesn’t work by just installing it… You need a little code tweaking. Not a problem for a developer but I think this type of plugins use to work just by installing them and moving the posts around.
Read all 27 reviews

Contributors & Developers

“Reorder Posts” is open source software. The following people have contributed to this plugin.


“Reorder Posts” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “Reorder Posts” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Released 2022-05-27
  • Cache busting for people who are receiving script errors around Nested Sortable.


  • Released 2022-02-14
  • Fixing sortable script with newer versions of jQuery sortable.


  • Released 2020-11-18
  • Fixing sortable script with newer versions of jQuery.


  • Released 2019-02-16
  • Added query to reorder posts for an example
  • Option to turn off query output


  • Released 2016-08-14
  • Major CSS overhaul inspired by the Nested Pages plugin
  • The sorting is now mobile friendly


  • Released 2016-08-12
  • Added screen options to set the number of posts displayed


  • Released 2015-12-04
  • Fixed loading animation that displays out of nowhere


  • Released 2015-11-09
  • Fixed pagination issue


  • Released 2015-11-1
  • Loading animation now shows inline


  • Released 2015-10-02
  • Fixing paging offset error in the backend.


  • Updated 2015-08-20 for WordPress 4.3
  • Released 2015-04-24
  • Added cache-busting when re-ordering
  • Added German translation
  • Ensuring WordPress 4.2 compatibility


  • Released 2015-01-28
  • Removed developer notice from Reorder pages


  • Released 2015-01-21
  • Fixed pagination issue
  • Improved Reorder save query performance significantly


  • Released 2015-01-19
  • Added add-on support
  • Make sure reordering can only be done by those with edit_pages privileges
  • Added pagination for performance reasons
  • Optimized queries for performance reasons
  • Added warning message for those with a lot of posts


  • Released 2014-12-26
  • Bug fix: Saving admin panel settings resulted in a variety of PHP offset error messages.
  • Bug fix: Querying multiple post types resulted in PHP illegal offset error messages.


  • Released 2014-12-23
  • Altered contributor documentation.
  • Adding filters for determining where the Reorder sub-menu will show up.
  • Sub-menu headings now reflect the post type that is being re-ordered.
  • Fixed bug in display when there are no post types to re-order.
  • Changed class names to be more unique.


  • Released 2014-12-12
  • Added settings panel for enabling/disabling the Reorder plugin for post types.
  • Added advanced settings for overriding the menu order of post types.
  • Added internationalization capabilities.
  • Slightly adjusted the styles of the Reordering interface.


  • Updated 2014-12-11 – Ensuring WordPress 4.1 compatibility
  • Released 2013-07-19
  • Added new filter for editing the post-types supported
  • Thanks to mathielo for the suggestion and code contribution.


  • Released 2012-08-09
  • Added expand/collapse section for nested post types
  • Added better page detection for scripts and styles


  • Released 2012-07-11
  • Added support for hierarchical post types


  • Released 2012-05-09
  • Updated screenshot
  • Corrected function prefix
  • Additional: changed readme.txt (didn’t bump version number)


  • Released 2012-05-09
  • Added ability to post type of posts to be reordered
  • Fixed bug in initial order


  • Added ability to change menu name via class argument
  • Removed support for non-hierarchical post-types


  • Initial plugin release