Вам нужны фильтры
get_the_date() — получает дату создания и
get_the_modified_date() — получает дату изменения.
Вставьте в конец файла functions.php:
// часовой пояс Москва
$main_timezone = get_option( 'timezone_string', 'Europe/Moscow' );
date_default_timezone_set( "$main_timezone" );
// для даты создания
function main_get_the_date($the_date, $d, $post) {
$d = 'd.m.Y';
$date_now = date_format(date_create("now"), $d);
$date_yesterday = date_format(date_create("yesterday"), $d);
$post = get_post($post);
if ( !$post ) {
return $the_date;
}
$the_date = mysql2date( $d, $post->post_date);
if ($date_now == $the_date) {
$the_date = esc_html__( 'сегодня', 'main' );
} elseif ($date_yesterday == $the_date) {
$the_date = esc_html__( 'вчера', 'main' );
}
return $the_date;
}
add_filter( 'get_the_date', 'main_get_the_date', 10, 3 );
// для даты изменения
function main_get_the_modified_date($the_time, $d) {
$d = 'd.m.Y';
$date_now = date_format(date_create("now"), $d);
$date_yesterday = date_format(date_create("yesterday"), $d);
$the_time = get_post_modified_time($d, null, null, true);
if ($date_now == $the_time) {
$the_time = esc_html__( 'сегодня', 'main' );
} elseif ($date_yesterday == $the_time) {
$the_time = esc_html__( 'вчера', 'main' );
}
return $the_time;
}
add_filter( 'get_the_modified_date', 'main_get_the_modified_date', 10, 2 );