Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Display the Last Updated Date of Your Posts in WordPress

Do you want to display last updated date for your posts in WordPress? Some websites regularly update their posts and would like to show users when the article was last updated. In this article, we will show you how to easily display the last updated date of your posts in WordPress.

How to display last updated date of your posts in WordPress

When You Need Last Updated Date for Posts in WordPress?

Most WordPress themes usually show the date when a post was last published. This is fine for most blogs and static websites.

However, WordPress is also used by websites where old articles are regularly updated (like ours). This last updated date and time is important information for those publications.

The most common example is news websites. They often update old stories to show new developments, add corrections, or media files. If they only added the published date, then their users would miss those updates.

Many popular blogs and websites don’t show any date on their articles. This is a bad practice and you should never remove dates from your blog posts.

Having said that, let’s see how to easily display last updated date for your posts in WordPress.

Video Tutorial

Subscribe to WPBeginner

If you don’t like the video or need more instructions, then continue reading.

Displaying Last Updated Date in WordPress

This tutorial requires you to add code to your WordPress files. If you haven’t done this before, then we recommend you to look at our guide on how to copy paste code in WordPress.

Method 1: Show Last Updated Date Before Post Content

You will need to add this code to your theme’s functions.php file or a site-specific plugin.

function wpb_last_updated_date( $content ) {
$u_time = get_the_time('U'); 
$u_modified_time = get_the_modified_time('U'); 
if ($u_modified_time >= $u_time + 86400) { 
$updated_date = get_the_modified_time('F jS, Y');
$updated_time = get_the_modified_time('h:i a'); 
$custom_content .= '<p class="last-updated">Last updated on '. $updated_date . ' at '. $updated_time .'</p>';  
} 

    $custom_content .= $content;
    return $custom_content;
}
add_filter( 'the_content', 'wpb_last_updated_date' );

This code checks to see if a post’s published date and last modified dates are different. If they are, then it displays last modified date before the post content.

You can add custom CSS to style the appearance of the last updated date. Here is a little CSS that you can use as starting point:

.last-updated {
    font-size: small;
    text-transform: uppercase;
    background-color: #fffdd4;
} 

This is how it looked on our demo website.

Last updated date in post content

Method 2: Add Last Updated Date in Theme Templates

This method requires you to edit specific WordPress theme files. Many WordPress themes now use their own template tags which define how these themes show post meta data like date and time.

Some themes also use content templates or template parts to display posts.

Few simpler themes will use single.php, archive.php, and other template files to show content and meta information.

You will be looking for the code responsible for displaying the date and time. You can then either replace that code with the following code, or add it right after your theme’s date and time code.

$u_time = get_the_time('U'); 
$u_modified_time = get_the_modified_time('U'); 
if ($u_modified_time >= $u_time + 86400) { 
echo "<p>Last modified on "; 
the_modified_time('F jS, Y'); 
echo " at "; 
the_modified_time(); 
echo "</p> "; } 

This is how it looked on our demo site:

Last updated date in post meta

We hope this article helped you learn how to display last updated date of your posts in WordPress. You may also want to see our list of most useful time saving WordPress shortcuts.

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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

130 CommentsLeave a Reply

  1. Can you please tell me how to post the modified date AFTER the content. I tried using a in the footer.php but then it just displays before the content AND in the footer. I would just like the footer to display.

  2. Thanks guys, it works like a charm! A so so cool tip!

    If you want to add the last modified ONLY ON POSTS, that works for me (I’m Italian and I edited it not showing the hour and modified the date order):

    function wpb_last_updated_date( $content ) {
    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400) {
    $updated_date = get_the_modified_time(‘d F Y’);
    $updated_time = get_the_modified_time(‘H:i’);
    $custom_content .= ‘Articolo aggiornato il ‘. $updated_date . ”;
    }
    if(is_single()){
    $custom_content .= $content;
    return $custom_content;
    }
    return $content;
    }
    add_filter( ‘the_content’, ‘wpb_last_updated_date’ );

  3. I have applied above all settings on my website and its working fine.

    But I have one question that when two dates shown above content then which date will be shown in google search engine result page? Please provide answer because I have done all this only for showing last update date in google search engine result page.

  4. i like this it is very good and easy to install with genesis child theme function.php thank you

  5. Hi,
    Added the following code to functions.php

    function wpb_last_updated_date( $content ) {
    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400) {
    $updated_date = get_the_modified_time(‘F jS, Y’);
    $updated_time = get_the_modified_time(‘h:i a’);
    $custom_content .= ‘Last updated on ‘. $updated_date . ‘ at ‘. $updated_time .”;
    }

    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( ‘the_content’, ‘wpb_last_updated_date’ );

    Works fine for posts but … the same is displayed in Pages also.
    I want it only for post. or if pages then at a different place eg End og the page article.

    Best Wishes
    Vishal Mukherjee

  6. Thank you for the code.
    However, there is a common problem that Google pulls the date of the embedded youtube video instead of the updated blog post date. In your case, I see that the search results do in fact show the correct date, and not the embedded video’s upload date. How did you achieve this? Thank you.

  7. hello, I want only show updated date like your website, not both(updated and published date), when I add your code to site then its shows that both dates, please guide me to show only that updated date. thanks

  8. Thank you for this post, I tried it and it works like a charm. I went for the site-specific plugin-option.

  9. Thanks a lot it worked perfectly. but for the custom CSS only the “text-transform” worked on my theme. Other CSS like; color, text-weight, background-color etc. did not work. Please is there any possible way around it?

  10. hi syed ,am peter. the code work on my theme, but when i tried to add css style , i mean this code .last-updated {
    font-size: small;
    text-transform: uppercase;
    background-color: #fffdd4;
    }

    my site goes blank. please what do i do to restore my website…

  11. Thank you for this tip. I actually turned it into a shortcode so that it only shows up where I want it, and not on every page or post. [last_updated]

  12. Hi,
    Actually the code is work, but the result showing some numbers before “last update”

    1494555840LAST UPDATED ON JUL 9, 2017

    Every single post that I updated showing different numbers like that. Any one can help me?

    Thank you

  13. Can you please explain how to apply it for genesis framework. i tried it but it didn’t worked

  14. Hey I just tried this method it worked fine for me but the problem is that now my post is not showing any date in google search please help me i also want to show last updated date in Google search when anyone searches my content.

  15. Hi
    The code work great, thank you!
    Can you tell us how to edit published time and add Published by “author” like in your images?

  16. I tried using this for my blog but it is also showing the “Last Updated” in the latest post page and its making it look like Last updated is part of the post content.

    i need help to correct this thanks.

  17. By the way I preferred not to have the time displayed, which I think is completely unecesssary so I deleted the following –
    at ‘. $updated_time .’

    I hope I did it right, it seems to work OK.

  18. Excellent. This works great on my site. I too update articles all the time. Constantly improving them. I’m just completely rewriting and improving every article from day 1. Now instead of it showing my article is 10 years old people can see it has recently been updated.

  19. This adds a new section showing modified date, but I would like to show updated date instead of published date as you have done in wpbeginner.

    i would also like to know will this preserve seo and shows updated date in search engines??

    • Yes I’d like to know re above.

      Especially the SEO impact of removing the original publication date.

      Thanks!

      – Paul

  20. One question I have: After pasting in the function in the article, I noticed that only my home page displayed the updated date / time. What if I do not want it to run on the home page? I tried adding an additional condition, ! is_home(). That did not work as it still showed up. Is there a way to only display this on posts (and not on any pages). Nothing has worked so far. Thanks for any help!

      • This plugin works. But, Last Updated is showing in the Home Page also. How to add the code to the Post Template alone? Thanks for help

    • This working on me

      function wpb_last_updated_date( $content ) {
      $u_time = get_the_time(‘U’);
      $u_modified_time = get_the_modified_time(‘U’);
      if ($u_modified_time >= $u_time + 86400) {
      $updated_date = get_the_modified_time(‘j F, Y’);
      $updated_time = get_the_modified_time(‘h:i a’);
      $custom_content .= ‘Last updated on ‘. $updated_date . ‘ at ‘. $updated_time .”;
      }

      if(is_single()){
      $custom_content .= $content;
      return $custom_content;
      }
      return $content;
      }
      add_filter( ‘the_content’, ‘wpb_last_updated_date’ );

      • @SAMSOR ITHNIN

        You are the man! The correct solution for show it only on posts exclude pages.
        Good if(is_single()){ way, thanks!

  21. The code that you display in this article shows the last updated date only but with no text explaining what that displayed date is in the post. It shows it like this:

    March 4th, 201701:29

    That is not very useful to my readers. Why won’t it display the $custom_content of line 7 of the code?

  22. I’ll be really grateful, if you could update your post about showing Related articles below posts. Or maybe recommend me plugin you’re using right now :)

  23. Sorry but after used i find that if your article not updated that it shows blank, i.e not shows the date of published article
    it shows only when article updated or modified otherwise shows blank

  24. My theme uses the wordpress default date in its theme and these modifications don’t work. Any help?

  25. Nice code and nice explanation. It is implemented on my site mohanmekap.com and working nicely, I have been seaching this code for internet though know it from wordpress codex but the instructions given here absolutely help for me kudos.

  26. Hello WPBeginner Team,

    Can you please state your SEO point of view about displaying last updated date instead of published date?
    I have just successfully applied the changes and my blog posts are showing last updated date.

    What would be your opinion? Is it better to show last updated rather than published?

    Thank You,
    Karan

    • Most sites show the publish date instead of last updated date. However, if a site does not show it, then you can still try viewing the source code. They may or not have a meta tag for published date and time.

      Admin

  27. Can you recommend a plugin that accomplishes this?

    Also, if I simply type “Last updated on XXXX”, will search engines recognize this and give appropriate credit for the freshness of the content?

  28. The plugin “Last Modified Timestamp” seems to get the same results. I added it to a widget in the footer. Now that date the page was updated is shown.
    And I didn’t have to enter any code in any of the files.

    • Code is always better than plugin bro. Code will not slow down your site, but plugins will.

        • Wow this is new. I always thought using code was better than adding a plugin any day. Guess I was wrong – at least to a certain extent. I will say tho that you really have to watch out installing slow or badly coded plugins because they have been proven to cause security issues, which is one big reason why I tend to stay away from them as much as possible.

  29. I changed post date from created to modified,its working fine,How to show DESC order modiefied date posts on wordpress.

    right now order of posts based on posted date.

  30. What if I still want to keep teh original publish date?

    Something like :

    Jan. 1, 2015, last edited | published on Dec. 15, 2014 by Ryan Hipp

  31. I’m using _s / Underscores theme, and in my inc/temlate-files.php
    have the all time functions, how to show only posted on or only updated on time?

    • You want to change the text or the date?

      If you want to the modified date then, retrieve the date. And add text whatever you want before the date

  32. is there any plugin available for last updated date.
    because im using ipin these and its hard to find code or related code in that.
    Thank You

  33. I have a question.

    Assume that I have written a post in 2014-01-01.

    Then, a person has copied enter article on 2014-02-01 and paste it own his blog.

    I updated one or two line in 2014-03-01.

    Then what happens?

    I mean, Is Google think my article is copied article and copied article is original article? ( Because now date of my article is 2014-03-01 and copied article date is 2014-02-01).

    Your reply is highly appreciated.

  34. Users have to look for the code :  “<?php the_time(‘F jS, Y’);?>”

    NOT  “<?php the_modified_time(‘F jS, Y’);?>”

  35. I did it a little bit differently, but it is the same concept. Thanks for pointing me in the right direction.
    For the twentyten theme, you edit the functions.php file, replacing the contents of the twenty_ten_posted_on() function with the following code:
    $verb=’Posted’;
    $postdate = get_the_date();

    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400) {
    $verb=’Updated’;
    $postdate=get_the_modified_time(‘F jS, Y’);
    }
    echo ‘<span class="meta-prep meta-prep-author">’.$verb.’ on</span>
    <a href="’.get_permalink().’" rel="bookmark">
    <span class="entry-date">’.$postdate.'</span></a>’;

    echo ‘ <span class="meta-sep">by</span> <span class="author vcard"><a class="url fn n" href="’.get_author_posts_url( get_the_author_meta( ‘ID’ ) ).’"
    title="’.esc_attr( sprintf( __( ‘View all posts by %s’, ‘twentyten’ ), get_the_author() ) ).’">’.get_the_author().'</a></span>’;

  36. The code is missing the most important part: else …

    the code compares the creation date of the update date, whichever is later then insert the date of update, but if the post does not have an update would not display anything, at least in my case.

    so it would be useful to add a:
    else the_time (‘F jS, Y’);

  37. It’s me again:-) just another question: if I change to the “last updated on” date, the order in which my posts appear in my homepage will change?
    For ex. I publish a new article today, then later I update another older post, will the last updated post show as first in my home?
    Thanks again for your help!
    elena

  38. hello, I’ve tried to find the code in any of the files index.php, single.php, page.php, but there is no trace of it.
    Where else should I look for it? Does it depend on the wp theme?
    Thanks a lot,
    elena

    • Yes there are many different WordPress Themes, Theme Frameworks, and child themes. You should ask in the support forums for your theme and they will let you know how you can add your custom code to the theme.

      Admin

  39. Hlw Syed I’ve been using genesis framework like you. So you know that genesis don’t have the following files and I guess this code snippet is not for gesesis. So it I’d be so nice of you if you kindly share the method you implemented with your child theme to show last modified date below post title instead of published date.

  40. Just a small correction. It should be the genesis_before_post_content Hook, and NOT the genesi_before_content Hook, as I had earlier mentioned. ;-)

  41. Wow, you have many useful posts here on WordPress. You’ve forced my hand. I’m subscribing now to your feed. What a useful site you have here. I’m very impressed.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.