The get_post_modified_time WordPress PHP filter allows you to modify the localized time a post was last modified.
Usage
add_filter('get_post_modified_time', 'your_custom_function', 10, 3);
function your_custom_function($time, $format, $gmt) {
// your custom code here
return $time;
}
Parameters
$time(string|int) – Formatted date string or Unix timestamp if$formatis ‘U’ or ‘G’.$format(string) – Format to use for retrieving the time the post was modified. Accepts ‘G’, ‘U’, or PHP date format. Default ‘U’.$gmt(bool) – Whether to retrieve the GMT time. Default false.
More information
See WordPress Developer Resources: get_post_modified_time
Examples
Add a custom timezone
Adjust the post modified time to a custom timezone.
add_filter('get_post_modified_time', 'adjust_modified_time_to_custom_timezone', 10, 3);
function adjust_modified_time_to_custom_timezone($time, $format, $gmt) {
$datetime = new DateTime("@$time");
$timezone = new DateTimeZone('America/New_York');
$datetime->setTimezone($timezone);
return $datetime->format($format);
}
Display modified time in hours
Show the time since the post was last modified in hours.
add_filter('get_post_modified_time', 'display_modified_time_in_hours', 10, 3);
function display_modified_time_in_hours($time, $format, $gmt) {
$time_difference = time() - $time;
$hours = floor($time_difference / 3600);
return $hours;
}
Add days to modified time
Add a specific number of days to the post’s modified time.
add_filter('get_post_modified_time', 'add_days_to_modified_time', 10, 3);
function add_days_to_modified_time($time, $format, $gmt) {
$additional_days = 2;
$time += $additional_days * 24 * 60 * 60;
return date($format, $time);
}
Set a fixed modified time
Set a fixed modified time for all posts.
add_filter('get_post_modified_time', 'set_fixed_modified_time', 10, 3);
function set_fixed_modified_time($time, $format, $gmt) {
$fixed_time = '2023-04-22 12:00:00';
return date($format, strtotime($fixed_time));
}
Modify modified time only for specific post type
Modify the modified time only for a specific post type, e.g., ‘product’.
add_filter('get_post_modified_time', 'modify_time_for_specific_post_type', 10, 3);
function modify_time_for_specific_post_type($time, $format, $gmt) {
global $post;
if ('product' === $post->post_type) {
// your custom code here
return $time;
}
return $time;
}