How to Easily Re-Order Posts in WordPress (Step by Step)

Do you want to change the order of your blog posts in WordPress?

By default, WordPress displays your blog posts in reverse chronological order, with the newer posts first. But sometimes you may need to move specific posts up or down.

In this article, we will share the easiest way to re-order WordPress blog posts, WooCommerce products, and custom post types.

How to Arrange WordPress Posts and Custom Posts Using Drag & Drop

Why Re-Order Blog Posts in WordPress?

As your WordPress blog content grows, you may want to explore different ways to promote content across your website.

For example, you can display specific posts more prominently on the front page, blog page, recent posts, or archive pages.

Or you may need to manually re-order custom post types. For example, if you created a WooCommerce store, then you might like to choose the exact order that your products appear.

Now the problem is that WordPress normally displays your blog posts in a reverse chronological order. There is no option to simply just move a post up and down.

The good news is that there are multiple workarounds that let you do just that.

Let’s take a look at some of the ways you can easily re-order blog posts on your WordPress site:

Method 1: Change Post’s Published Date

Method 2: Use Post Types Order Plugin (Drag and Drop)

Method 3: Use Drag and Drop in WooCommerce

Method 4: Use Sticky Posts Feature in WordPress

Method 5: Modify WordPress Query using Code (Advanced)

Video Tutorial

Subscribe to WPBeginner

If you prefer written instructions, then please continue reading.

Method 1: Change Post’s Published Date

This is the easiest method and allows you to re-order posts using the built-in WordPress functionality.

As you know that WordPress displays posts based on their publication date in reverse chronological order (newer posts first). Changing a post’s publish date will also change where it appears in the list.

Re-Order posts by changing published date

For example, if you wanted to bring an older post up, then you would have to change its date to be newer. Similarly, if you wanted to move a post down, then you can change its date to be older.

Simply edit the post you want to re-order and on the post edit screen click on the publish date under the Document panel.

Change publish date for a blog post

This will bring up a date and time popup where you can change the post’s published date and time. After you have changed the date/time, click on the ‘Update’ button to save your changes.

You need to select a date relevant to other posts.

For example, if you wanted to display an older post before another post that was published on 8 March, then you need to change the post’s publish date to 9 March.

Post moved up

Method 2: Use Post Types Order Plugin (Drag and Drop)

If you want to re-order posts but don’t want to change their publish dates, then this method is for you.

First, you need to install and activate the Post Types Order plugin. For more details, see our step by step guide on how to install a WordPress plugin.

Upon activation, you need to visit Settings » Post Types Order page to change plugin’s settings.

Post Types Order settings

From here, you need to select the post types where you want to enable the plugin. After that, simply click the ‘Save settings’ button to store your changes.

Now you can just go to Posts » All Posts page and simply drag and drop posts to re-order them.

Re-Order blog posts by drag and drop

The Post Order Types plugin also allows you to re-order individual custom post types by drag and drop.

Custom post types let you create different content types for your website. To learn more, see our guide on how to create custom post types in WordPress.

Re-Order Custom Post Types by Drag and Drop

Method 3: Use Drag and Drop in WooCommerce

You could use the Post Types Order plugin to re-order products in your online store, but WooCommerce already supports drag and drop natively.

Simply navigate to the Products » All Products page and click the ‘Sorting’ link at the top of the page. You will then be able to change the order of your products using drag and drop.

WooCommerce Natively Supports Drag and Drop

To stop sorting, just click the ‘All’ link at the top of the screen.

Method 4: Use Sticky Posts Feature in WordPress

Many users just want to highlight a blog post as featured content. WordPress comes with a default feature to achieve that, and it’s called sticky posts.

The sticky posts feature allows you to highlight a post on top of all other posts on your blog page.

Simply edit the blog post that you want to pin to the top. On the post edit screen, check the box next to ‘Stick to the Front Page’ option under ‘Document’ panel.

Make a post sticky in WordPress

After that, click on the ‘Update’ button to save your changes.

You can now visit your website, and you will see the selected post pinned to the top. Depending on your theme, your sticky post will be highlighted differently.

Sticky post highlighted in WordPress

Method 5: Modify WordPress Query using Code (Advanced)

If you are an advanced user and want to customize the post order, then you can modify the default WordPress query.

This method requires you to add code to your theme’s functions.php file. If you haven’t done this before, then see our guide on how to copy and paste the code in WordPress.

For example, take a look at this code snippet. It allows you to display posts in chronological order (older posts first).

//function to modify default WordPress queryfunction wpb_custom_query( $query ) {   // Make sure we only modify the main query on the homepage      if( $query->is_main_query() && ! is_admin() && $query->is_home() ) {           // Set parameters to modify the query        $query->set( ‘orderby’, ‘date’ );        $query->set( ‘order’, ‘ASC’ );    }}   // Hook our custom query function to the pre_get_posts add_action( ‘pre_get_posts’, ‘wpb_custom_query’ );

This code simply modifies the orderby and order parameters in the default WordPress query.

However, this code may sometimes not work as expected due to some plugins or theme already modifying the default query. To fix that, you can use the supress_filters parameter like this:

//function to modify default WordPress queryfunction wpb_custom_query( $query ) {   // Make sure we only modify the main query on the homepage      if( $query->is_main_query() && ! is_admin() && $query->is_home() ) {           // Set parameters to modify the query        $query->set( ‘orderby’, ‘date’ );        $query->set( ‘order’, ‘ASC’ );        $query->set( ‘suppress_filters’, ‘true’ );    }}   // Hook our custom query function to the pre_get_posts add_action( ‘pre_get_posts’, ‘wpb_custom_query’ );

The orderby parameter comes with many options. See the full list of options on the WP Query code reference page.

We hope this article helped you learn easy ways to re-order blog posts in WordPress. You may also want to see our expert pick of the best WordPress SEO plugins, and our comparison of the best email marketing services for small business.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.