Do you want to display recent posts from a specific category in WordPress? The default recent posts widget shows posts from all categories, and there is no option to filter them by category. In this article, we will show you how to easily display recent posts from a specific category in WordPress.
Filtering Posts by Category in WordPress
If you just want to create a page to display recent posts from a particular category, then your WordPress site already has separate pages for each category.
You can add links to all your category pages by visiting Appearance » Widgets page and adding the ‘Categories’ widget to your sidebar. You can also add categories in your navigation menus.
On the other hand, if you want to show recent posts from a specific category in your sidebar, then there is no default widget for that. The default recent posts widget does not allow you to filter posts by category or tags.
Thankfully there is another way. Let’s take a look at how to easily display recent posts from specific category in WordPress.
Video Tutorial
If you don’t like the video or need more instructions, then continue reading.
Method 1. Show Recent Posts from a Category Using Plugin
This method is easier, and it is recommended for most users.
First thing you need to do is install and activate the Recent Posts Widget Extended plugin. For more details, see our step by step guide on how to install a WordPress plugin.
Upon activation, you need to visit the Appearance » Widgets page and add ‘Recent Posts Extended’ widget to your sidebar.
The widget menu will expand to show its settings. You need to select the category or categories that you want to display under the ‘Limit to Category’ option.
The widget comes with a lot of options that you can customize. You can show post thumbnail, date, relative date, post summary / excerpts, and more.
Don’t forget to click on the save button to store your widget settings.
You can now visit your website to see the recent posts displayed by category.
Display Recent Posts by Category Using Shortcode
The Recent Posts Extended Widget also allows you to use shortcode to display recent posts anywhere on your site including posts and pages.
You will need to edit the post or page where you want to display the recent posts from a specific category. In the post editor, you will need to add the following shortcode:
[rpwe limit="5" excerpt="true" cat="72" ]
This shortcode displays 5 recent posts from a specific category with the post excerpt. You will need to replace the cat value with the ID of the category that you want to display. See our article on how to find category ID in WordPress.
After adding the shortcode, you can save your post or page to view your changes.
Method 2. Display Recent Posts From Specific Category using Code Snippet
This method requires you to add code to your WordPress theme files. If you haven’t done this before, then take a look at our guide on how to copy and paste code in WordPress.
You will need to add the following code in your WordPress theme files where you want to display recent posts from a specific category.
<?php $catquery = new WP_Query( 'cat=72&posts_per_page=5' ); ?> <ul> <?php while($catquery->have_posts()) : $catquery->the_post(); ?> <li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li> <?php endwhile; wp_reset_postdata(); ?>
The first line of this code creates a new WordPress query with a specific category ID. You need to replace it with your own category ID. It only shows post title in a list.
You can change it to display full content by adding the following code:
<?php $catquery = new WP_Query( 'cat=72&posts_per_page=5' ); ?> <ul> <?php while($catquery->have_posts()) : $catquery->the_post(); ?> <li><h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3> <ul><li><?php the_content(); ?></li> </ul> </li> <?php endwhile; ?> </ul> <?php wp_reset_postdata(); ?>
You can also replace the the_content
with the_excerpt
to display post excerpts instead of full article.
We hope this article showed you how to easily display recent posts from a specific category in WordPress. You may also want to see our list of most wanted category hacks and plugins for 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.
I want to display the posts which the user selected in the featured post
If I want to display post of perticular category on a new page then where should i copy those snippets
I’ve just activated this plug in and worked fine for the first sidebar. The second customised sidebar just showed the category of the first one. I ended up deleting the second one but now it’s not showing at all. Have you had any other feedback about this widget now not being supported by wordpress since the latest updates? Any advice would be appreciated.
Thanks for this. I’m using this with the “Sydney” WP theme and trying to have certain categories of projects on the home page as portfolio/case studies. I successfully got the widget to show along with my desired posts, but they’re displaying vertically. I’d like them to be right next to each other horizontally in a grid (unless on mobile, of course). Any ideas on this? Thanks!
thank you!!! you saved my life i was working on customers website and the need only news to be showed on the slider. you showed me a way how to customize it.
Hi, thank you for the tutorial. Only a question: I’m trying to get a carousel of latest posts in homepage with preview image. All plugins I have tried had bad image layout, I have many images with different sizes. So I wanted to try without plugin, only write code in wp.
Can you please tell how to add preview images to your code, to display recent posts with preview image? Thank you very much
and… if i want to show recent post of current post category?
is possible? how?
regards
Hello,
Did you try this plugin (last update 1 year ago) with the last update of WordPress?
When I check the support in wordpress, it’s seems this plugin is not support anymore and some users can’t use it correctly with recent WordPress.
Best Regards
Hi Ben,
Yes, we tried the plugin and it works as promised.
If you want to have your code in functions.php, you can use
function include_posts_from_recentPostWidget_by_cat() {
$include = array( ‘cat’ => ‘2, 5’ );
return $include;
}
add_filter(‘widget_posts_args’,’include_posts_from_recentPostWidget_by_cat’);
2 and 5 are the IDs of the categorys you want to show. You can do the same to exclude categories by using ‘-2, -5’
What if that post where we’re showing the recent posts is part of recent post and if we’re show the_content()… There won’t be unlimited loop ?
No, it will not cause unlimited loop.