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

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

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

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

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

Вставь  фрагмент кода в файл 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' );

Результат исполнения кода:

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

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

Код, приведенный ниже, позволяет вывести дату последнего обновления и дату публикации поста:

/*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.

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

Ошибка микроразметки исчезла когда немного видоизменил приведенный выше код:

/*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' );

Удачи!
Александр Коваль

При подготовке записи использовал статью (англ)

Метки: ,