The get_the_modified_time WordPress PHP filter allows you to modify the localized time a post was last edited.
Usage
add_filter('get_the_modified_time', 'your_custom_function', 10, 3); function your_custom_function($the_time, $format, $post) { // your custom code here return $the_time; }
Parameters
$the_time
(string|int|false) – The formatted time or false if no post is found.$format
(string) – Format to use for retrieving the time the post was modified. Accepts ‘G’, ‘U’, or PHP date format.$post
(WP_Post|null) – WP_Post object or null if no post is found.
More information
See WordPress Developer Resources: get_the_modified_time
Examples
Change date format
Modify the date format of the modified time to ‘F j, Y’.
add_filter('get_the_modified_time', 'change_modified_time_format', 10, 3); function change_modified_time_format($the_time, $format, $post) { $new_format = 'F j, Y'; return get_post_modified_time($new_format, false, $post, true); }
Append custom text
Add custom text before the modified time.
add_filter('get_the_modified_time', 'append_custom_text', 10, 3); function append_custom_text($the_time, $format, $post) { return 'Last updated: ' . $the_time; }
Hide modified time for specific category
Do not display modified time for posts in the ‘news’ category.
add_filter('get_the_modified_time', 'hide_modified_time_for_news', 10, 3); function hide_modified_time_for_news($the_time, $format, $post) { if (in_category('news', $post)) { return ''; } return $the_time; }
Display relative time
Show modified time as a relative time (e.g., “5 minutes ago”).
add_filter('get_the_modified_time', 'display_relative_modified_time', 10, 3); function display_relative_modified_time($the_time, $format, $post) { $time_diff = human_time_diff(get_post_modified_time('U', true, $post), current_time('timestamp')); return $time_diff . ' ago'; }
Show modified time in different timezone
Display modified time in a specific timezone, e.g., New York (America/New_York).
add_filter('get_the_modified_time', 'change_modified_time_timezone', 10, 3); function change_modified_time_timezone($the_time, $format, $post) { $timestamp = get_post_modified_time('U', true, $post); $date_obj = new DateTime("@$timestamp"); $date_obj->setTimeZone(new DateTimeZone('America/New_York')); return $date_obj->format('F j, Y g:i a'); }