The Easy Way To Display Recent Posts in WordPress

You don’t need any custom queries or database calls just to get a list of recent posts. In fact, there’s a function built into WordPress that will do just that. It’s called, wp_get_archives(). You might recognize that as a way to display monthly archives, but with a few parameters, you can modify it to display a list of recently published WordPress posts. Here’s the code:

<?php wp_get_archives('title_li=&type=postbypost&limit=10'); ?>

What this will do is strip any WordPress added formatting and output a nice list of the 10 latest posts, each within it’s own <li> tag.

Comments   Leave a Reply

  1. Ellery Davies May 24, 2013 at 8:52 am

    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?

  2. Muchas gracias!!!! Thank you very much!!!! Just what I was looking for!

    Saludos desde Spain 😉

  3. Thanks! That solved my problem in 2 seconds.

  4. Thanx Leland – just in the nick of time
    *Love ur site btw 😀


  5. Sachin @ Web Design Mauritius May 14, 2010 at 8:30 am

    I’ve implemented it on my about page here: http://www.webdesign-bureau-of-mauritius.com/web-design-mauritius

    It works like a charm. Thanks for this!

  6. Can you also tell the system to display the excerpt for the post? or just a teaser?

  7. Okay. All this code does is display a very simple list of recent posts. The markup is similar to this:

    <li><a href="http://example.com/recent-post-3">Latest One</a></li>
    <li><a href="http://example.com/recent-post-2">2nd Latest Post</a></li>
    <li><a href="http://example.com/recent-post-1">3rd Latest Post</a></li>

    If you want anything else (thumbnails, character counts, whatever) that would require a custom loop and I can’t really go over each specific case in the comments here.

  8. How do I do this and also have thumbnails? Very small thumbnails. 35px X 35 px. Google is annoying me sending me round in circles all day long. They’re useless lol.

    Well I await your useful reply.


    1. Oh wow this is easy 😀 Thanks for this great article!

      BTW, has anyone come across functions to merge both recent post and page update in chronological order?

  9. How about displaying recent posts, together with a set number of characters from the actual entry?

  10. Gary David Hill April 5, 2010 at 6:15 am

    Awesome bit of code! Only took me two years to find it. xD

    1. LOL…better late than never.

  11. Hi How do I make the list have the url’s inside Header tags?


  12. I need to exclude posts from a certain category, how could be done?

    1. You’d need to make a custom loop and exclude the category. See the query_posts page for more info.

  13. Jordan Meeter March 3, 2010 at 4:54 pm

    Thanks, this helped me a ton. 🙂

  14. How can I do this with categories ?

    1. You mean a list of categories or a list of posts from a certain categories?

      For a list of categories you could use wp_list_categories.

      For a list of posts from a certain category you would probably need a custom query. How to do that would need a new tutorial post entirely, but this should get you started.

  15. clean and simple. Cheers for the code

  16. @Corey: Not with this code, you would probably need to make a custom loop for that.

  17. THANK YOU!!!! been wrestling with several recent post plugins but there was always something needing to be configured, edited, etc finally can remove all of the extra garbage needed to make them work

  18. Can you put time and date to this? If so how?

  19. It’s just working fine for me. Thanks for this excellent hack 🙂

  20. Thanks! Just what I needed 😉

  21. eh thanks.
    what should I do to add a header to the lists?
    thanks again.

  22. Thanks a bunch, worked beautifully!

  23. How about a version where you exclude certain categories from the recent posts? this function doesn’t allow the exclusion of categories. I am using it inside the loop before the call for the actual post title in a lefthand sidebar and found that the other version of a custom database query fed the last post title into the main post the_title(). If I use the version you supplied then it doesn’t feed the wrong title to the post but I can’t exclude a few custom categories that feed my news and portfolio.

  24. This is perfect! Exactly what I needed to show the most recent posts in a church website’s main page design. Thanks so much for the tip!

  25. I hope it can works in my blog

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

WordPress Launch Checklist

The Ultimate WordPress Launch Checklist

We've compiled all the essential checklist items for your next WordPress website launch into one handy ebook.
Yes, Send Me the Free eBook!