How to Display a List of Last Updated Posts in WordPress

At WPBeginner, we show last modified date instead of original published date for all of our articles. We think it is bad idea to remove dates from your WordPress blog posts. If you are using last modified date, then you might want to show a list of your recently updated posts on your site. In this article, we will show you how to display a list of last updated posts in WordPress.

Each time you update a post, WordPress stores the date and time of that update in the posts table as last updated date. We will show you how to create a custom WordPress query to list your most recently updated articles.

Copy and paste this code in a site-specific plugin or your theme’s functions.php file.

function wpb_lastupdated_posts() { 

// Query Arguments
$lastupdated_args = array(
'orderby' => 'modified',
'ignore_sticky_posts' => '1'

//Loop to display 5 recently updated posts
$lastupdated_loop = new WP_Query( $lastupdated_args );
$counter = 1;
$string .= '<ul>';
while( $lastupdated_loop->have_posts() && $counter < 5 ) : $lastupdated_loop->the_post();
$string .= '<li><a href="' . get_permalink( $lastupdated_loop->post->ID ) . '"> ' .get_the_title( $lastupdated_loop->post->ID ) . '</a> ( '. get_the_modified_date() .') </li>';
$string .= '</ul>';
return $string;

//add a shortcode
add_shortcode('lastupdated-posts', 'wpb_lastupdated_posts');

That’s all. Now if you want to display last updated posts in your theme’s template files, then you can use it like this:

if (function_exists(wpb_lastupdated_posts)) : 

To display last updated posts in WordPress posts, pages, and widgets, then you can use the shortcode [lastupdated-posts].

There are many different ways to sort your articles in WordPress. Aside from the ascending, descending, and random order, you can also display posts by expiration date. With this article, you can now show posts by the last modified time.

How would you use this on your site? Are you displaying original published date or last modified date? Let us know by leaving a comment below.