ReOrder Post Within Categories


ReOrder Post Within Categories is used to sort posts (and custom post type) in any custom order by drag & drop interface.
It works with a selected category, each category can have different order of same post.

Thanks to

Nikita Spivak for the Russian translation.


  • Plugin page settings
  • Re-order your post through a drag & drop interface


  1. Upload the ‘reorder-posts-within-categories’ folder to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to the settings page to activate sorting for each categories you choose.


Installation Instructions
  1. Upload the ‘reorder-posts-within-categories’ folder to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Go to the settings page to activate sorting for each categories you choose.
Modify the reorder category query

A filter allows you to hook into the query of the posts before your reorder them in the dashboard. This is useful is you want to order parent terms posts and not children. WP post category query by default include post from children terms, which will show up in the order list. So by excluding them you are able to order only the posts of parent terms,

add_filter('reorder_post_within_category_query_args', 'exclude_children');
function exclude_children($args) {
    return $args;
I want to order posts in non-hierarchical taxonomies (tags)

By default the plugin allows you to order posts only within hierarchical taxonomies (categories). This is done as a means to ensure one doesn’t have spurious orders as allowing both tags and category ordering could lead to users trying to order a post in both and this would create issues which have not been tested by this author. Hence tread with caution if you enable this in your functions.php file,

add_filter('reorder_post_within_categories_and_tags', '__return__true');

Keep in mind that you will now see Pages as a post type to re-order, selecting such post types which do not have any categories associated with it.

I want limit/enable roles that can re-order posts

Since v1.3.0 a new filter has been added that allows you to do that. Make sure you return a valid capability,

add_filter('reorder_post_within_categories_capability', 'enable_editors', 10,2);
function enable_editors($capability, $post_type){
    //you can filter based on the post type
    if('my-users-posts' == $post_type){
        $capability = 'publish_posts'; //Author role.
    return $capability;

if an unknown capability is returned, the plugin will default back to ‘manage_categories’ which is an administrator’s capability.

I am uninstalling this plugin, how do I removed the custom table data ?

You can now flag the custom sql table to be deleted when you disable the plugin from your dashboard with the following filter,
add-filter(‘reorder_post_within_categories_delete_custom_table’, ‘__return__true’)


Good plugin

I had a problem with my cache.
Sorry to complain before.
It’s ok.

Amazing, just saved me!

I am so happy right now. This plugin gave me exactly what I was hoping, simple and does what it says it will do.
Cheers to the developer!

Excellent and extremely useful

Thanks for this great job, works fine in my case.
I had to give different sorting ordres in some categories and this works fine, without messing with the original (chronological) post order in my dashboard.

A basically-good plugin with a very buggy implementation

The idea is great – but the end product is just useless when it’s about custom queries on client sites.

I tried to use the plugin with a wp_query including custom tax query – it just didn’t work, the query didn’t output anything.

Then, completely accidentally I’ve found out that clicking in the “Use the manual sorting for this category?” section on “No”, then on “Yes” solves the problem. Let’s call this Method 1.

Then I had to use a slightly modified version of my custom query on a different page template – same problem, this time Method 1 didn’t work.
Then I started to play a game including two steps, step A: disable-reenable the plugin, step B: retry Method 1.
After 30 mins of playing this game in different variations and number of repetitions suddenly the problem got solved.


Anyways, I din’t want my client to spend precious hours playing this funny game so I uninstalled the plugin and started to look for an alternative.

Read all 37 reviews

Contributors & Developers

“ReOrder Post Within Categories” is open source software. The following people have contributed to this plugin.


“ReOrder Post Within Categories” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “ReOrder Post Within Categories” into your language.

Interested in development?

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



  • fixed capability bug.
  • added filter to delete custom sql table when uninstalling.


  • changed text-domain to include plugin in


  • added russian locale.
  • added filter to change capability of reorder post submenu access.
  • bug fix


  • improved custom post selection in settings
  • added filter ‘reorder_post_within_categories_and_tags’


  • added filter ‘reorder_post_within_category_query_args’


  • cleaned up, included better messages to ensure settings are saved after activation, else order menu is not shown
  • fixed a small bug


  • Bug fix to allow plugin to work with WP multisite network installation.
  • enable editor role access to re-order menu
  • fixed some languages translation issues


  • Important bug fix (See Thanks to Faison for this fix


  • Add DE_de language


  • Correct minor bug


  • Add spanish translations. Special thanks to David Bravo for this !


  • Add a plugin URI


  • Bug Correction when a post is saving


  • Change version number


  • Minor Correction


  • First commit; Initial version