WP-RelativeDate
WP-RelativeDate

WP-RelativeDate

3/5 (2 ratings) 100 active installs Updated Aug 9, 2026
Every post date on the front page, written as how long ago it was

Every post date on the front page, written as how long ago it was

WP-RelativeDate rewrites your post and comment dates as how long ago they were: ‘Today’, ‘Yesterday’, ‘2 Days Ago’, ‘2 Weeks Ago’, ‘2 Hours Ago’, ‘2 Minutes Ago’, ‘2 Seconds Ago’.

There is nothing to configure and no settings screen. WP-RelativeDate rewrites your post and comment dates as soon as it is activated, and leaves anything more than a month old, or from a previous year, exactly as your theme printed it.

Features

  • Post/Comment Date
    • Today
    • Yesterday
    • X days ago
    • X weeks ago
  • Post/Comment Time
    • X seconds ago
    • X minutes ago
    • X hours ago

Donations

I spent most of my free time creating, updating, maintaining and supporting these plugins, if you really love my plugins and could spare me a couple of bucks, I will really appreciate it. If not feel free to use it without any obligations.

Usage

You need not do anything. WP-RelativeDate will automatically modify your post/comment date or time display. No text will be added if the post or comment is more than a month old.

Examples

  • Post/Comment Date
    • Today
    • Yesterday
    • 10th January 2007 (2 days ago)
    • 25th January 2007 (2 weeks ago)
  • Post/Comment Time
    • 21:10 (2 seconds ago)
    • 21:15 (5 minutes ago)
    • 22:15 (2 hours ago)

Shortcodes

  • [relativedate]
    • [relativedate date_format="jS F Y" ago_only="false"]
  • [relativetime]

    • [relativetime time_format="H:i" ago_only="false"]

    ago_only drops the date or time and leaves only the relative phrase. It accepts true/false, 1/0, yes/no and on/off.

Template Tags

  • relative_post_the_date( $format, $before, $after, $ago_only, $display ) — a drop-in replacement for the_date(). $before and $after carry markup, exactly as they do in the_date().

Turning It Off For One Template

The plugin has no settings screen. To leave a template’s dates alone, remove the filter before the loop:

remove_filter( 'get_the_date', 'relative_post_date', 999 );

The four callbacks are relative_post_date on get_the_date, relative_post_time on get_the_time, relative_comment_date on get_comment_date and relative_comment_time on get_comment_time, all at priority 999.

Removing the get_the_date filter also covers the_date(), which builds its output by calling get_the_date(). The same goes for the_time(), comment_date() and comment_time().