Do you want to re-order blog posts in WordPress?
By default, WordPress displays your blog posts to visitors in reverse chronological order, so the newer posts appear first. However, sometimes you may want to change this order and prioritize different content instead.
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?
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, with no easy way to move a post or down.
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:
- Method 1: Change the Post’s Published Date (Quick and Easy)
- Method 2: Use Post Types Order Plugin (Best for Custom Post Types)
- Method 3: Use Drag and Drop in WooCommerce (No Extra Plugins Required)
- Method 4: Make WordPress Posts Sticky (Best for Highlighting Specific Posts)
- Method 5: Modify WordPress Query Using Code (Advanced)
Video Tutorial
Method 1: Change the Post’s Published Date (Quick and Easy)
The easiest way to re-order your posts is to simply change the published date.
By default, WordPress 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.
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 content editor and then click on the link next to ‘Publish’. This opens a popup where you can change the publication date.
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, just click on ‘Update’ to save your changes.
Method 2: Use Post Types Order Plugin (Best for Custom Post Types)
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.
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’.
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’.
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 simply drag and drop the content into a new position.
Method 3: Use Drag and Drop in WooCommerce (No Extra Plugins Required)
If you run an online store, then WooCommerce already supports drag and drop natively.
To reorder your products, go to the Products » All Products page.
Here, you need to click the ‘Sorting’ link at the top of the page.
You can then change the order of your products using drag and drop.
Happy with how the products are organized on your online marketplace or store?
Then just click the ‘All’ link to stop sorting.
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’.
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 our guide on how to make sticky posts.
Method 5: Modify WordPress Query 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 will also lose the customization when you update your WordPress theme.
Instead, we recommend using the free WPCode plugin. WPCode is the best 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.
Here, simply hover your mouse over ‘Add Your Custom Code’.
When it appears, click on ‘Use snippet’.
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 select ‘PHP Snippet’.
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.
When you are happy with the snippet, you need to 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’.
After that, you are ready to scroll to the top of the screen and click on the ‘Inactive’ toggle so that it changes to ‘Active’.
Finally, click on ‘Save Snippet’ to make the PHP snippet live.
Now, if you visit your site, you will see 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 pick of the best WordPress SEO plugins or our guide on how to increase your blog traffic.
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.
Dennis Ras says
Thanks for this handy plugin. How do I move pages around from the second “page” on the page menu? Only 25 page entries show on the firs “page” and I need to move a page from the second “page”.
WPBeginner Support says
You would want to use the screen options in the top right to increase the number of posts listed to allow you to move that post between the pages
Admin
ELizabeth says
I’m new to using wordpress, I’m trying to organize all my pages but the drop down that should say parent is missing. Is there a plugin I need to download? I have been using elementor to create my pages, could that be causing the issue?
WPBeginner Support says
Possibly, you would want to reach out to Elementor’s support to see if this is a known issue.
Admin
Ken Weatherford says
This is exactly what I was looking for. The order of pages in the admin Pages was driving me nuts. I had many pages I may not use for now, but my actual site pages were buried in five lists of pages…over 92 pages.
This plugin is the bomb!
Trevor says
Perfect and thanks.
M. Ramirez says
Regarding the answer that says “you cannot put posts in a menu. However, you can put posts in categories and then put each category as a menu item in your navigation menu”… can I use a post as a menu entry within a menu item?
M. Ramirez says
If I change the order of a page, does the url of the page change? Do I need to work on redirecting my pages so that they can be found on search engines?
Robin says
Hi could someone on staff direct me to an article (if one exists) that will help me find a plugin to organize my posts better. I don’t even know what to search for in my plugin search box, but basically I want to have several items on my menu such as
cuisine, travel, crafts, etc.
Then when I create a blog post relevant to that menu topic, I want to post it under that menu title. I was wondering is it possible to not only do this, but also put the post on a main feed on the front page as well? So the post would show up under the menu area and also the main feed.
I’ve seen other blogs that do this on their sites to some degree, however I’m on the “shoe-string” budget plan right now and need to figure out a way to NOT hire a developer to do this for me.
Any help would be fantastic…
Thanks so much!
WPBeginner Support says
You cannot put posts in a menu. However, you can put posts in categories and then put each category as a menu item in your navigation menu. For example, you can see how added categories in the menu under blog. Simply go to Appearance » Menus and then click on categories tab in the left hand column to expand it. Select a category you want to add to the menu and save your menu. Now create a new post and file it under that category. Hope this helps.
Admin
tinalear says
This video is completely useless to me because it jumps right in saying “we’ll go to the “plugins” and bla bla bla” HOW DO YOU GET TO THE PLUGINS ? My wordpress site doesn’t have it. Totally frustrating.
WPBeginner Support says
You don’t have comments because you are probably using WordPress.com. Please see our guide on the difference between WordPress.com and WordPress.org.
Admin
dlockguitarstudio says
I updated to the new WP version, and installed simple page ordering. I’ve also logged out/back in. There’s no handle to drag/drop in pages, and I can’t reorder in page attributes either. What to do?
John says
Another great plugin is WorderbyPress