Displaying Recent posts often helps your users to visit them easily specially on the sidebar of a single post page. But in some designing processes people want to display recent posts in many different ways. In this post, we will show you various different ways you can display the recent posts in WordPress.
Displaying Recent Posts in a List Format
The list format is mostly used in sidebars of WordPress pages. You can display the recent posts by simply pasting the following code in a template file of your choosing for example sidebar.php:
<?php get_archives('postbypost', '10', 'custom', '<li>', '</li>'); ?>
You can change the number 10 to the number of posts you like to display.
If your theme support Widgets, then there is an easier option for you. You can simply head over to the widgets page and add Recent Posts widget to your sidebar. That will save you from editing the codes.
Displaying Recent Posts with Summary
Some people like to display recent posts with a title and a short description. There are multiple ways of accomplishing that.
The first way is:
<ul>
<?php $the_query = new WP_Query( 'showposts=5' ); ?><?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li><li><?php the_excerpt(__('(more…)')); ?></li>
<?php endwhile;?>
</ul>
And you make sure that the excerpt is a short description of the post. You must rewrite the excerpt to make it fit the word limit.
Another way is using the Word Limit which will save you the time of writing an excerpt because the Word Limit Plugin will automatically crop everything after the desired number of characters. For that you need to download a plugin called Limit-Post which you need to download and activate.
Once the plugin is activated paste the following code where you want it displayed in your theme files:
<ul>
<?php $the_query = new WP_Query( 'showposts=5' ); ?><?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li><li><?php the_content_limit(250); ?></li>
<?php endwhile;?>
</ul>
You may change the 250 to set the character limit of your desire.
Displaying Recent Posts with Full Content
Some people like to display recent posts with full content if WordPress is being used as a Content Management System (CMS).
<ul>
<?php $the_query = new WP_Query( 'showposts=5' ); ?><?php while ($the_query -> have_posts()) : $the_query -> the_post(); ?>
<li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li><li><?php the_content(__('(more…)')); ?></li>
<?php endwhile;?>
</ul>
You may change the number 5 to whatever you like. This is mostly used to make a page look like your blog page. So you should not need this if you are not running a CMS.
Now you should be able to display Recent Posts in your WordPress blog or a CMS.







Hi Syed,
I use the WordPress Twenty-Eleven theme and have always displayed recent posts using the widget in Jetpack. But I want this list to show in the individual posts as well. Is there a way to do this? If it involves pasting code, into which file do I paste?
Where in the individual posts do you want to show that list? Below post? Sidebar?
The home page of AWildDuck -d0t- com, shows recent posts along the right side, along with subscribe and a tag cloud. But this appears only on the home page. If I send you a link to any individual post (or if you click on the title of any post), the right frame disappears. My visitors can no longer see a list of recent posts. I am very frustrated by this, and I want to know how to get that list of recent posts to appear on all pages. (Not just the home page).
Go to Appearance > Theme Options. Change the default Layout to content on left.
Hi Syed,
Indeed, this is my current setting. It has always been my setting. Twenty Eleven with “Content on left”.
Thank you and with the_post_thumbnail ?
Simply add the_post_thumbnail(); and style it however you like.
thank you, yes, but I ask not only for me but thinking of other visitors, it can be more useful in your article, give an example of recent articles with thumbnails.
Nice Post.
How can I achieve – Recent Posts in Menu. Like I have my category “Crime” on top-menu. Now whenever a user hover it, I want to show 5 recent posts from category “Crime” with their thumbnails?
Spent a lot of time to find out this information which works for me 100%. Its very easy and to the point. Thanks…… God bless you.
Hello. I have a website with 3 subdomains. It’s possible to display in a widget in the main domain the lastest posts from a subdomain?
The link to the “limit-post” plugin does not work. Do you have a current link or an alternate?
Thank you!
I have tried to use this code and it doesn’t seem to work? I am a beginner and am using a standard theme and not hosting. Therefore I can’t upload anything I can only use HTML.
Thanks so much for posting such a useful and concise article. Much appreciated!
very usefull for me.thanks
Thank you very much for the post, I was looking for it for a while and found your explanation pretty simple and useful. Code worked just fine for me!
My WP homepage has a footer displaying the titles of my 4 latest posts (Recent Posts). This makes no sense, as these posts are already displayed above.
My question is how can my footer display the range between 5th and 8th post ??
The code its currently using is
<?php wp_get_archives('type=postbypost&limit=5');
Many thanx in advance for your help
You can’t use wp_get_archives for that. You would have to run a loop and add the query_post function with the offset parameter.
Thank you very much for your kind reply. Can you please let me know how I can do that? I know very few stuff and i definately need to have this done by the day after tomorrow that I’m launching my site.
Thanks
I’ve been looking for this code for a few days now. I can’t believe it’s not more readily available in the Template Tags pages or any other blogs.
I changed the code to include tags and tags instead of the tags like the following:
<a href="”>
Thanks for posting!
One problem with the above code is when you call that function in your sidebar which is called before the start of the loop in single.php. Your single.php file will list down all the articles of your blog post irrespective of the one which is called.
In such cases, you can also use
Otherwise, calling query_posts(‘showposts=10′); function is fine.
Both of them will list down latest 10 posts in ul, li format. This is bit easier.
Hi, is it possible to show the date before the linked post title when using:
<?php get_archives('postbypost', '10', 'custom', '’, ”); ?>
Thanks
To do that, the better option would be to run a new loop.
Hi Guys
I seem to be having some issues with this code. It works great on my index.php page but when I try adding it to either the page.php or single.php it prevents other content showing. For example when I click the ‘about us’ page it will display the latest article!
Hope this makes sense and any help anyone can offer would be greatly appreciated.
Thanks
Try reading this article: http://www.wpbeginner.com/wp-tutorials/how-to-create-a-separate-page-for-blog-posts-in-wordpress/
i want to display posts in order of post date.. recent one first with pagination i am able to do the pagination but the posts are displaying on each page in random order somebody please help………….:(
Don’t see why it wouldn’t display posts in the order of date. The loop method would only display the most recent ones at the top.
There were few articles around explaining the same thing. But you elaborated the topic with additional information which is very useful. Thanks for your efforts.
How about on spesific page – example i make new page called blog, i have try the code but get error,
I want to know how to display rcenet posts with thimthumb thumbnial.
Unfortunately Google is being Google as usual and not giving me the results I want.
Thanks.
You can simply add timthumb codes anywhere in these codes, and it should work. The query will be run the exact same way. If you are looking for a step by step guide, we haven’t written one. Although we might write one in the future.
I am so glad I found this, I have been trying to do this for days and I couldnt find exactly how to do this on the wordpress codex !!! the only sollution they seemed to offer screwed up the custom homepage I built, but this works perfect.
Thanks very much.
Glad we were able to help
Good info!
I’m trying to display the latest 5 posts using the last method you described, but I can’t figure out how to get page numbers. For example, the faux blog page displays the last five posts, but there is no way to go back in time from there.
I have not been able to find a solution for this. Any suggestions?
Thanks!
Use the Super WordPress loop tutorial instead. You would just need to add the pagination code in there.