WordPress Version: 6.1
/**
* Retrieves the date the last comment was modified.
*
* @since 1.5.0
* @since 4.7.0 Replaced caching the modified date in a local static variable
* with the Object Cache API.
*
* @global wpdb $wpdb WordPress database abstraction object.
*
* @param string $timezone Which timezone to use in reference to 'gmt', 'blog', or 'server' locations.
* @return string|false Last comment modified date on success, false on failure.
*/
function get_lastcommentmodified($timezone = 'server')
{
global $wpdb;
$timezone = strtolower($timezone);
$key = "lastcommentmodified:{$timezone}";
$comment_modified_date = wp_cache_get($key, 'timeinfo');
if (false !== $comment_modified_date) {
return $comment_modified_date;
}
switch ($timezone) {
case 'gmt':
$comment_modified_date = $wpdb->get_var("SELECT comment_date_gmt FROM {$wpdb->comments} WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 1");
break;
case 'blog':
$comment_modified_date = $wpdb->get_var("SELECT comment_date FROM {$wpdb->comments} WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 1");
break;
case 'server':
$add_seconds_server = gmdate('Z');
$comment_modified_date = $wpdb->get_var($wpdb->prepare("SELECT DATE_ADD(comment_date_gmt, INTERVAL %s SECOND) FROM {$wpdb->comments} WHERE comment_approved = '1' ORDER BY comment_date_gmt DESC LIMIT 1", $add_seconds_server));
break;
}
if ($comment_modified_date) {
wp_cache_set($key, $comment_modified_date, 'timeinfo');
return $comment_modified_date;
}
return false;
}