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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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 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' );
$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.
Olivier says
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 says
Thank you for sharing this shortcode for those looking for other options!
Admin
Barq says
Hi, how to use this code for “blog” page?
WPBeginner Support says
The simplest method from this that would affect your blog page would be to change the published date for your blog posts
Admin
Jeff Moyer says
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 says
Glad our guide was helpful
Admin
Brian says
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 says
Not at the moment.
Admin
mark says
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 says
You would want to reach out to the support for your specific theme for if this is a theme setting.
Admin
Tom Grisak says
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 says
It would depend on your theme but normally they should be shown in date order
Admin
Rico says
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?
WPBeginner Support says
You would either need to manually create your own recent posts widget or find a plugin that changes that. For creating a custom widget you would either recreate the look using an HTML or Text widget or manually creating a custom widget as we show here: https://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-wordpress-widget/
Admin
dirkthewebphoenix says
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 says
For that, you would need to look into a plugin for your search to allow that type of one time re-order
Admin
Phil Smart says
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?
WPBeginner Support says
You can use a plugin like Advanced custom fields for setting up a new field: https://wordpress.org/plugins/advanced-custom-fields/
Admin
Michael Walther says
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 says
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
Jo Wagner says
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.
Abe says
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.
WPBeginner Support says
Hi Abe,
You’ll need a self hosted WordPress.org website or the business plan on WordPress.com. Please see our guide on the difference between WordPress.org vs WordPress.com.
Admin
Donna L Lovette says
I downloaded the post oder plugin and I worked perfectly. Now my blog looks like I want it to. Thanks
Sherry says
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?
Gert Cilliers says
Your plugin works like a charm – Just what I needed – Many Thanks
Christophe Giraud says
Thank you!
Lee Grainger says
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?
Vickie Robinson says
OMG you just saved my work life.
THANK YOU so much this is just PERFECT!!!!!!!!!!!!!!!!!!!
Tony says
Thank you!
Laura Sage says
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.
WPBeginner Support says
It does not work with hierarchical post types like Pages.
Admin
Alex Carby says
Cheers, this was a very helpful post, Simple to the point.
Neooth says
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?
Mariusz Szatkowski says
Scheduled posts order would be great idea. Anyone has seen it?
Okun says
You just saved my day!!!
Pixeltender says
This plugin just saved me tons of time and yelling at my computer. Thanks!
Karen Johnson says
this plugin removed my banner completely from my site, so I deleted it.
Subin says
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 says
No, you just have to edit the loop in your theme to say orderby=order.
Admin
Ankur says
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 ?
Editorial Staff says
Customized theme for our site.
Admin
Ankur says
It looks great, clean and elegant.
Also, I like the this default comment system compared to livefyre
bill says
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.
Kathy Drewien says
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?
Editorial Staff says
Not that we are aware of.
Admin
Jaspal Singh says
Wow! Excellent Plugin to have Drag & Drop ordering functionality.
Thanks for sharing.