How To Reorder Standard & Custom Post Type Posts In WordPress

Ever since I started developing WordPress 3+ themes and using custom post types for things such as portfolios, services, faqs, staff, sliders..etc, I’ve been getting a lot of questions from people asking me how they can rearrange the order of their published posts. Unfortunately it’s not very obvious how to do this in WordPress and there isn’t a very easy and manageable way.

In the following post I’ll show you how you can e-order your custom posts using two different methods: changing the post date of your custom post or using a super awesome free WordPress plugin called “Post Type Order”.

Method 1: Change Post Date

The first method of changing your posts order is by changing the published dates of your posts. Most the time themes will use the default order_by => date argument in their themes so custom posts will show up in the order in which they were published (but it’s not always the case). To alter the post date simply click “quick edit” on any post in the dashboard and alter the date using the fields then click “update“.


Method 2: Altering the “Menu Order” position

If the custom post type (registration and output) supports the “menu_order” function then you may also be able to change the order by altering this value. For example in our Total WordPress Theme we’ve enabled this for all built-in post types making it easier to control your post type order for the front-end.


Method 3: Using The Post Type Order Plugin

My favorite way of changing the order of your posts is by using the “Post Type Order Plugin”. This plugin will allow you to easily move your posts around in a drag-and-drop fashion. In the video below you can see how epic this plugin is and how to use it to reorder your custom post type posts.

Plugin Page

Method 4: Using the pre_get_posts Filter

If you want to re-order your items via code its also very easy and you’ll want to use the pre_get_posts action in WordPress to do so. Please click on the former link to learn all about it. If you rather learn from an example, please have a look below!

function wpex_order_category( $query ) {
	// exit out if it's the admin or it isn't the main query
	if ( is_admin() || ! $query->is_main_query() ) {
	// order category archives by title in ascending order
	if ( is_category() ) {
		$query->set( 'order' , 'asc' );
		$query->set( 'orderby', 'title');
add_action( 'pre_get_posts', 'wpex_order_category', 1 );
Post Author:

Hey. My name is AJ and I am the boss around here. I own and operate WPExplorer. A website dedicated to everything I love about WordPress.

Disclosure: This page contains external affiliate links that may result in us receiving a comission if you choose to purchase said product. The opinions on this page are our own. We do not receive payment for positive reviews.
Got something to say? Join the discussion.
    • AJ Clarke says:

      I don’t really understand the question…What theme? What are you trying to do?

  1. mafudim says:

    Hi! How to do the same with categories? Is it possible to rotate it in the theme Office Responsive Business Theme

  2. mafudim says:

    Found Plugin Category Order and Taxonomy Terms Order. I think this is the answer to my question

  3. Alex says:

    Thank you so much!!! I’ve been looking for a solution for that for ages, and you gave a quick and simple answer, AWESOME!

  4. Mayeenul Islam says:

    `Method 3: Using the pre_get_posts Filter` – can I integrate custom fields there?

  5. nik pol says:

    Just huge thanks!

    First method seems to be the only method which can be used by an ordinary people without any technical background and the simplest in case one need to order custom type posts :)

Leave a Reply