Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

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

Sometimes you need more control over how your blog posts are ordered. We’ve been there ourselves, trying to highlight an important announcement, showcase a contest, or feature a critical update.

By default, WordPress displays your posts in reverse chronological order, with the newest ones at the top. While this works great most of the time, it can be frustrating when you need to prioritize certain content.

That’s why we’ve put together this guide. We’ll walk you through several methods to re-order your WordPress posts, from quick and easy tricks to more advanced techniques.

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

Why Re-Order Blog Posts in WordPress?

Sometimes, there may be specific content that you want visitors to see first. For example, you may want to pin a big announcement blog to the front page, blog page, recent posts, or archive pages.

You may also need to manually re-order custom post types. For example, if you have created a WooCommerce store, then you might want to show your most popular products first or items that are on sale.

The problem is that WordPress normally shows your blog posts in reverse chronological order (most recent posts to the least), with no easy way to move a post up or down. Even if you customize the Query Loop block in the block editor or full-site editor, it gives you limited re-ordering options.

The reordering options in the Query Loop block

With that in mind, let’s look at some workarounds and tricks that can help you easily re-order blog posts, WooCommerce products, and more. Simply use the quick links below to jump straight to the method you want to use:

Video Tutorial

Subscribe to WPBeginner

Method 1: Change the Post’s Published Date (Quick and Easy)

The easiest way to change the order of your posts is to simply change the published date.

By default, your WordPress site displays posts based on their publication date in reverse chronological order, so newer posts appear first.

Changing a post’s publish date will also change where it appears on your archive page, blog page, and other areas of your WordPress website.

Examples of published dates on blog posts

For example, if you wanted to show an older post first, then you could change its publication date to today. Similarly, if you wanted to move a post down the list, then you could simply make its publication date older.

To do this, just open the blog post in the WordPress block editor. In the right sidebar, navigate to the ‘Post’ tab, and then click on the link next to ‘Publish.’

This opens a date and time popup where you can change the publication date.

Updating a blog post's publishing date in the block editor

Here, it’s important to choose a date that’s relevant to other posts. For example, if you want the post to appear before a blog that was published on the 8th of March, then you’d need to change its publish date to March 9th.

After changing the date and time, click on ‘Update’ to save your changes.

Method 2: Use Post Types Order Plugin (More Control)

If you want to re-order posts without changing their publish dates, then we recommend using Post Types Order. This plugin allows you to organize blog posts, WooCommerce products, coupon codes, orders, custom post types, and more using drag and drop.

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, head over to the Settings » Post Types Order page to configure the plugin’s settings.

Opening the Post Types Order plugin settings

The ‘Show / Hide re-order interface’ section lists all the different content types that Post Types Order can reorganize.

You will need to make sure these dropdown menus are set to ‘Show’.

Choosing what post types should the Post Types Order plugin work on

After that, scroll to the ‘Archive Drag & Drop’ section.

For each content type that you want to reorganize, open its dropdown menu and select ‘Yes’.

Configuring the Post Types Order plugin settings

When you are happy with how the plugin is set up, click on ‘Save Settings’.

Now, go to an area with the content you want to re-order, such as Posts » All Posts. You can then create a custom order by simply dragging and dropping the posts into new positions.

Re-Order blog posts by drag and drop

Method 3: Use Drag and Drop in WooCommerce (Product Post Types)

If you run an online store, then WooCommerce already supports drag and drop natively.

To reorder your products, you must go to the Products » All Products page.

Re-ordering WooCommerce products in WordPress

Here, click the ‘Sorting’ link at the top of the page.

You can then change the order of your products using drag and drop.

WooCommerce Natively Supports Drag and Drop

Happy with how the products are organized on your online store?

Then, just click the ‘All’ link to stop sorting.

Stop reorganizing WooCommerce products

Method 4: Make WordPress Posts Sticky (Best for Highlighting Specific Posts)

Sometimes, you may want to highlight an important blog post, such as a big product announcement or a post about a giveaway or contest you are running.

WordPress allows you to make a post sticky so that it appears above all the other posts on your blog page, no matter what the publication date.

To do this, simply open the WordPress blog post that you want to highlight. In the ‘Post’ menu, check the box next to ‘Stick to the top of the blog.’

Making posts sticky in WordPress

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

Now, if you visit your website, you will see the post pinned to the top. The sticky post may even be highlighted differently, depending on your WordPress theme.

For more detailed instructions, please see these guides:

Method 5: Re-Order WordPress Posts Using Code (Advanced)

You may want to change how WordPress organizes all the posts across your website, including any posts you may publish in the future. The best way to do this is by adding custom code in WordPress.

Often, you will find guides with instructions to edit your theme’s functions.php file. However, this can cause all sorts of common WordPress errors or even break your site completely.

You’ll also lose the customization when you update your WordPress theme.

Instead, we recommend using the free WPCode plugin. WPCode is the best, most beginner-friendly code snippets plugin used by over 1 million WordPress websites. It allows you to easily add custom CSS, HTML, PHP, and more without putting your site at risk.

The first thing you need to do is install and activate WPCode. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, head over to Code Snippets » Add Snippet.

Adding a code snippet to WordPress

Here, simply hover your mouse over ‘Add Your Custom Code’.

When it appears, you need to click on ‘Use snippet’.

Reorganizing WordPress posts using WPCode

To start, type in a title for the custom code snippet. This can be anything that helps you identify the snippet in the WordPress dashboard.

After that, open the ‘Code Type’ dropdown and choose ‘PHP Snippet’.

Reorganizing WordPress posts using WPCode

In the code editor, add the following code snippet:

//function to modify default WordPress query
function 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.

In the snippet above, we are displaying posts in chronological order so the older posts appear first. However, the orderby parameter has many options, so you can order your posts in lots of different ways.

You can see a full list of options by visiting the WP Query code reference.

Here’s another code example, where we modified the order by a completely random order:

// Function to modify default WordPress query
function 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', 'rand' );
    }
}
  
// Hook our custom query function to the pre_get_posts 
add_action( 'pre_get_posts', 'wpb_custom_query' );

When you are happy with the snippet, you must scroll to the ‘Insertion’ section. WPCode can add your code to different locations, such as after every post, frontend only, or admin only.

We want to use the custom PHP code across our entire WordPress website, so click on ‘Auto Insert’ if it isn’t already selected.

Then, open the ‘Location’ dropdown and choose ‘Run Everywhere’.

Run code snippet across WordPress website

After that, you’re ready to scroll to the top of the screen and click on the ‘Inactive’ toggle so it changes to ‘Active.’

Finally, click on ‘Save Snippet’ to make the PHP snippet live.

Re-order posts in WordPress using WPCode

Now, if you visit your site, you will see that the posts have been reorganized based on your code.

We hope this article helped you learn easy ways to re-order blog posts in WordPress. You may also want to see our expert picks for the best related posts plugins for WordPress and how to add a load more posts button in WordPress.

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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

51 CommentsLeave a Reply

  1. Syed Balkhi

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. Mrteesurez

    Nice one, you know what, this post reordering is useful to as I have an educational website where I showed blog post in order of publishing date with as lessons after each other. I found it difficult to manually edit the post to change the date, so this solves the problem. thanks.

  3. Jiří Vaněk

    Is there some way, eg using CSS, to highlight a post that is pinned to the top of the blog like this? For example, a different background color of the block, etc.? The currently used template cannot do this.

  4. Olivier

    For some reasons, the drag-and-drop options for Products did not work for me, and I did not want to install another plugin…

    So I found a workaround to display my products for one specific category, by using the default woocommerce shortcode with the order attribute.

    [products columns=”3″ category=”some-category-goes-here” order=”ASC”]

    Now my producs for this category are display from first to last (which happened to be in my case with ascending price, which is what I wanted), and from not last to first.

    Somehow a 6th method, to update your post with. ;-)

    Hope this helps.

    • WPBeginner Support

      Thank you for sharing this shortcode for those looking for other options! :)

      Admin

  5. Barq

    Hi, how to use this code for “blog” page?

    • WPBeginner Support

      The simplest method from this that would affect your blog page would be to change the published date for your blog posts :)

      Admin

  6. Jeff Moyer

    Wow fantastic article thank you, I was aware of a couple of these options but not all thank you! Probably going to avoid the coding option but we’ll see lol.

    • WPBeginner Support

      Glad our guide was helpful :)

      Admin

  7. Brian

    I have the post reorder plugin, but do you know if there’s a plugin that allows the write to choose the post priority while in edit? For example, a dropdown that allows the user to select where on the page the post should appear (first, fifth, 10th, etc.).

    • WPBeginner Support

      Not at the moment.

      Admin

  8. mark

    First of all thank you for putting this together, your post are usually very helpful.

    For some reason the theme i’m using has the blog posts order with oldest post on top. I would like to see the newest on top.

    I’m running out of ideas. Any idea what to look for (and where) to get my posts sorted with the newest post on top?

    • WPBeginner Support

      You would want to reach out to the support for your specific theme for if this is a theme setting.

      Admin

  9. Tom Grisak

    Thanks for the help. I didn’t know a plugin could do that for me. I thought I’d have to go to every post and change the publish date. But I have a question, it sounds like you can put two stickies at the top. Are those also sorted by date?

    • WPBeginner Support

      It would depend on your theme but normally they should be shown in date order :)

      Admin

  10. Rico

    What I would like is for the sticky post to be at the top and the rest of the posts to follow the default (reverse chronological) order below it. I’ve used the sticky option but it doesn’t always put the sticky post at the top. It’s sticky on the blog page but at the bottom of the list in the sidebar for Recent Blog Posts. I’m using the Alizee template. Is there something I can do with CSS or another method to achieve this for both areas?

  11. dirkthewebphoenix

    What about a merely temporary reversal of order?

    Example: As a visitor you have a special interest making you want to start with the oldest posts in your search, or as the site author you want to create a search URL for your menu that will present a popular post series in chronological order.

    Is there any search term one could enter to reverse the order or any modification of the search URL (get request) that would do this on this one-time basis?

    • WPBeginner Support

      For that, you would need to look into a plugin for your search to allow that type of one time re-order

      Admin

  12. Phil Smart

    When ordering and displaying blog posts, my sponsor wants them ordered by the date of the event, which is the only reliable date. I am asking how to make that happen.

    My sponsor considers that altering the date published just to alter the order means that no-one can count on that date to know which version of posts they are looking at.

    How can we add a field to capture event-date?

  13. Michael Walther

    Unfortunately, drag-and-drop type plugins like ‘Post Types Order’ are completely useless if you have more posts in your blog than fit on one screen.

    For instance, I have > 100 posts in my blog. If I want so drag, say, post #96 all the way up to position #3, then I am out of luck because #5 and #96 do not fit on the same screen, which makes drag and drop impossible.

    • WPBeginner Support

      If you go to your screen options in the top right of your All Posts page and you should be able to increase the number of posts to display on the page :)

      Admin

  14. Jo Wagner

    Hi there,

    I like this plugin. But find it limiting to only post types and not Pages as well. Simple Page Order works well for pages, but then you have two plugins again, which is not ideal. Is there no plugin to be able to do both?

    Please let me know.

  15. Abe

    Hi there, I’m using the WordPress.com free blog, and when I clicked on plug-ins, it’s asking me to upgrade. Is there another way of installing the re-order word press posts? Any tips would be great. I was planning on including my previously done writings, which weren’t done in this blog, but in review sites like Trip Advisor or Zomato, but the tendency of the site is that my latest posts will be the ones posted on top, so the chronological thing works only if I write my posts also based on timing of the visit, which is not feasible of how I’m going to populate my blog post.

  16. Donna L Lovette

    I downloaded the post oder plugin and I worked perfectly. Now my blog looks like I want it to. Thanks

  17. Sherry

    Hi – I installed the post order plug in and reordered my posts but it didn’t change the order on the site. what am I doing incorrectly?

  18. Gert Cilliers

    Your plugin works like a charm – Just what I needed – Many Thanks

  19. Christophe Giraud

    Thank you!

  20. Lee Grainger

    I have uploaded this plugin, dragged and dropped my posts in the order I want them in, but they don’t appear to have changed.
    I have several blog post categories on different pages, is it possible this is the reason?

  21. Vickie Robinson

    OMG you just saved my work life.

    THANK YOU so much this is just PERFECT!!!!!!!!!!!!!!!!!!!

  22. Laura Sage

    I’ve used this plugin many times. Very useful. Thank you. HOWEVER, I just created a custom post type, and the re-oder option isn’t showing up for it. What do I need to do in order for it to be added to my custom post type as well? The custom post type doesn’t show up in Settings.

  23. Alex Carby

    Cheers, this was a very helpful post, Simple to the point.

  24. Neooth

    This plugin is amazing. But I have a question: On my front page, I’ve got a combined archive of multiple post types. Whenever I change the order of the posts/custom posts, oddly, an old post from a custom post type springs to the top.

    I am guessing this happens because when I use the plugin, the rearrangement is done according to the ID, and ID’s from all custom post types start vying with each other.

    Is there a way to prevent an old custom post type with an ID of 0 from appearing near the top?

  25. Mariusz Szatkowski

    Scheduled posts order would be great idea. Anyone has seen it?

  26. Okun

    You just saved my day!!!

  27. Pixeltender

    This plugin just saved me tons of time and yelling at my computer. Thanks!

  28. Karen Johnson

    this plugin removed my banner completely from my site, so I deleted it.

  29. Subin

    Installed the plugin and seeing the extra Reorder page in the admin. Reordering the posts there doesn’t have any effect though.

    Can’t seem to find anything wrong and don’t have any idea to fix it other than I think the plugin needs to overrule the datestamp of each post (or something) to work.

    http://wordpress.org/extend/plugins/metronet-reorder-posts/

    • Editorial Staff

      No, you just have to edit the loop in your theme to say orderby=order.

      Admin

  30. Ankur

    Useful plugin, might use it on my site.
    Also, I like new layout of the site. Is it some customized genesis child theme of some completely different customized theme for your site ?

      • Ankur

        It looks great, clean and elegant.
        Also, I like the this default comment system compared to livefyre

  31. bill

    Wow! Wish I would’ve known about this plugin three months ago. When working on a client’s site, I had to re-date over three hundred posts; not a fun gig :) Thanks for the article.

  32. Kathy Drewien

    I noticed the plugin shows compatibility only up to WP 3.2.2, yet it was updated 11 days ago. Any known issues with 3.3 and higher?

  33. Jaspal Singh

    Wow! Excellent Plugin to have Drag & Drop ordering functionality.
    Thanks for sharing.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.