10,000+
September 25, 2026
May 9, 2012
Reorder Posts is a simple and flexible way to reorder posts, pages, and custom post types in WordPress using drag and drop. This plugin gives you full control over post ordering by leveraging WordPress’s built-in menu_order functionality, while keeping the interface fast, and intuitive. For those not familiar with code, the admin settings allows for auto-sorting based on post type. For hierarchical post types, the plugin supports nested pages.
Reorder Posts is designed for developers and site builders who need precise control over how content is displayed. Whether you’re organizing landing pages, structuring custom post type archives, or manually controlling query output, this plugin provides a reliable way to define ordering without relying on publish dates or titles.
Once activated, the plugin adds a “Reorder” submenu to supported post types in the WordPress dashboard. For custom post types that do not have an interface, you can click a shortcut to reorder the post type from within the admin settings. From there, you can drag and drop posts, pages, and post types into the exact order you need. Changes are saved automatically, so there’s no need for a save button or extra clicks.
This plugin works seamlessly with both standard posts, pages, and custom post types. It also supports hierarchical post types, allowing you to reorder and re-nest items like pages or nested content structures. This makes it especially useful for sites that rely on structured content, such as documentation, courses, or directories. For hidden post types (post types that expose no UI), you can reorder these post types from a shortcut within the Reorder Posts admin settings.
Because the plugin uses the native menu_order field, it integrates cleanly with WordPress queries. If your queries already support ordering by menu_order, your changes will appear instantly on the front-end. If not, the plugin includes advanced options in the Reorder admin settings to help override default query behavior when needed.
Reorder Posts does not auto-sort your post types on the front-end automatically unless explicitly enabled in the admin settings. Instead, it gives you the tools to define ordering while leaving implementation decisions in your hands. This makes it ideal for developers who want flexibility without unnecessary abstraction. The admin settings for auto-sorting are completely optional.
A dedicated settings panel allows you to control which post types support reordering. By default, common post types like posts and pages are enabled, while others can be toggled on as needed. If a post type is hidden, with no visibile editing interface, you can still reorder it by enabling it and clicking the Reorder shortcut next to the post type.
For more advanced use cases, developers can hook into filters to customize behavior programmatically. This includes defining which post types are reorderable or adjusting how ordering is applied across queries.
If you need to reorder posts within taxonomies such as categories or terms, companion add-ons are available to extend functionality even further.
Key features include:
menu_orderReorder Posts is best suited for users who understand how WordPress queries work or are comfortable working with WP_Query, get_posts, or pre_get_posts. If you need full control over content ordering without sacrificing performance or simplicity, this plugin provides a clean and reliable solution.
You are welcome to help us out and contribute on GitHub.
This plugin was originally developed for Metronet AS in Norway.
The plugin is now independently developed by Ryan Hellyer, Ronald Huereca and Scott Basgaard.
Either install the plugin via the WordPress admin panel, or …
metronet-reorder-posts to the /wp-content/plugins/ directory.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 only posts and pages. 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. Auto-sorting is available through the admin panel settings.
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.
You can find the settings under Settings Reorder Posts. The plugin works out of the box with no configuration, but the settings allow you to control which post types are enabled and access advanced options such as auto-sorting post types on the frontend.
There isn’t one. Changes are saved automatically as you drag and drop items. This keeps the workflow fast and eliminates unnecessary steps.
If you are using nested pages or hierarchical post types, you can even drag pages from one area to another, and have it saved automatically.
The plugin updates the built-in menu_order field for each post. WordPress supports ordering by this field, which means you can control display order when your queries use orderby => menu_order.
In many cases, yes. Your queries need to support menu_order sorting. If they already do, your changes will appear immediately. If not, you may need to adjust your query arguments or use the plugin’s advanced settings to override behavior.
If you are using query blocks or custom queries, just change the orderby parameter to work with “Menu Order.”
Yes. The plugin fully supports custom post types. You can enable or disable reordering per post type in the settings panel or via filters.
Yes. The plugin supports hierarchical post types and allows you to re-nest items. This means you can change both order and parent-child relationships visually.
Yes. You can either use the settings screen or apply a filter to define exactly which post types should support reordering.
Here’s an example:
<?php
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;
}
?>
No, the plugin doesn’t automatically enable itself to sort on the frontend. There are per-post-type settings for setting a global sort, but manually doing queries or using a query block is much more flexible.
This plugin is best suited for developers or users familiar with WordPress queries. If you are not comfortable working with menu_order or query arguments, you may need some additional guidance to get the most out of it.
Yes, but for very large datasets, pagination and performance considerations apply. We don’t recommmend reordering post types that have over 1,000 items.
You can open a support request on WordPress.org or submit an issue on GitHub.
| Version | Download | Type |
|---|---|---|
| 2.6.1 | Download | Stable |
| 2.6.0 | Download | Stable |
| 2.5.3 | Download | Stable |
| 2.5.2 | Download | Stable |
| 2.5.1 | Download | Stable |
| 2.5.0 | Download | Stable |
| 2.4.1 | Download | Stable |
| 2.4.0 | Download | Stable |
| 2.3.0 | Download | Stable |
| 2.2.2 | Download | Stable |
| 2.2.1 | Download | Stable |
| 2.2.0 | Download | Stable |
| 2.1.5 | Download | Stable |
| 2.1.4 | Download | Stable |
| 2.1.2 | Download | Stable |
| 2.1.1 | Download | Stable |
| 2.1.0 | Download | Stable |
| 2.0.2 | Download | Stable |
| 2.0.1 | Download | Stable |
| 2.0.0 | Download | Stable |
| 1.0.6 | Download | Stable |
| 1.0.5 | Download | Stable |
| 1.0.4 | Download | Stable |
| 1.0.3 | Download | Stable |
| 1.0.2 | Download | Stable |
| Development | Download | Trunk |