При публикации постов блога в мета-данных поста выводиться дата его первой публикации. В данной статье описано, как для темы Divi или темы Extra добавить фрагмент кода PHP, который позволит вывести дату обновления поста вместо даты его публикации или вместе с датой его публикации.

Как показать, когда обновлялся пост на блоге

Варинат 1 - Меняем "Дата публикации" поста на "Последнее обновление"

По умолчанию в сниппете поста выводиться дата его публикации:

2017 01 28 00 46 07
Приведенный ниже код позволяет вместо даты публикации поста отобразить дату его последнего обновления.

Вставьте фрагмент кода в файл functions.php дочерной темы Divi.  Для этого  в административной панели WordPress нужно переместиться к "Внешний вид"  > "Редактор" > "functions.php" и вставить код:

/*Add the Last Updated Date to Divi’s Blog */
function et_last_modified_date_blog( $the_date ) {
if ( 'post' === get_post_type() ) {
$the_time = get_post_time( 'His' );
$the_modified = get_post_modified_time( 'His' );

$last_modified = sprintf( __( 'Обновлен %s', 'Divi' ), esc_html( get_post_modified_time( 'M j, Y',0, null, 1 ) ) );
$date = $the_modified !== $the_time ? $last_modified : get_post_time( 'M j, Y' );

return $date;
}
}
add_action( 'get_the_date', 'et_last_modified_date_blog' );
add_action( 'get_the_time', 'et_last_modified_date_blog' );
Результат исполнения кода:
2017 01 28 12 19 30

Варинат 2 - Показываем обе даты: "Дата публикации" и "Последнее обновление"

Результат выполнения приведенного ниже кода:

2017 01 28 12 40 52
Код, приведенный ниже, позволяет вывести дату последнего обновления и дату публикации поста:
/*Add the Last Updated Date to Divi’s Blog */
function et_last_modified_date_blog( $the_date ) {
 if ( 'post' === get_post_type() ) {
 $the_time = get_post_time( 'His' );
 $the_modified = get_post_modified_time( 'His' );
 
 $last_modified = sprintf( __( 'Обновлена %s', 'Divi' ), esc_html( get_post_modified_time( 'M j, Y',0, null, 1 ) ) ); 
 $published = sprintf( __( 'Опубликована %s', 'Divi' ), esc_html( get_post_time( 'M j, Y',0, null, 'перевод' ) ) );
 
 $date = $the_modified !== $the_time ? $last_modified . ' | ' . $published : $published;
 
 return $date;
 }
}
add_action( 'get_the_date', 'et_last_modified_date_blog' );
add_action( 'get_the_time', 'et_last_modified_date_blog' );

Дополнение от 24.02.2017.

При проверке стуктурированных данных с помощью сервиса Гугл на страницах сайта с подключенным выше кодом получил ошибку:

2017 02 24 20 37 26
Ошибка микроразметки исчезла когда немного видоизменил приведенный выше код:
/*Add the Last Updated Date to Divi’s Blog */
function et_last_modified_date_blog( $the_date ) {
    if ( 'post' === get_post_type() ) {
        $the_time = get_post_time( 'His' );
        $the_modified = get_post_modified_time( 'His' ); 
        $last_modified =  sprintf( __( 'Обновлена %s', 'Divi' ), esc_html(  get_post_modified_time( 'd.m.Y',0, null, 'перевод' ) ) ); 
        $published =  sprintf( __( 'Опубликована %s', 'Divi' ), esc_html( get_post_time( 'd.m.Y',0, null, 'перевод' ) ) ); 
        $date = $the_modified !== $the_time ? $last_modified . ' | ' .  $published : $published; 
        return $date;
    }
}
/*add_action( 'get_the_date', 'et_last_modified_date_blog' );*/
add_action( 'get_the_time', 'et_last_modified_date_blog' );
Удачи!
Александр Коваль
При подготовке записи использовал статью (англ)

Некоторые ссылки в этой статье являются партнерскими.
Если вы кликните на такую ссылку и приобретете что-либо, я получу партнерскую комиссию.

Рубрики: CSS & Советы по Divi Метки: Тема Divi 4 и Тема Extra

Об авторе:

Алекc Коваль

Алекc Коваль

Wordpress разработчик. Создаю интернет-магазины, лендинги и другие сайты. Помогаю поддерживать их работу. Расширяю функционал и возможности сайтов на WordPress. Пишите если нужна помощь с сайтом или разработка "с нуля"