При публикации постов блога в мета-данных поста выводиться дата его первой публикации. В данной статье описано, как для темы 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' );
Удачи!
Александр Коваль
При подготовке записи использовал статью (англ)

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

Рисунок Банер Divi WordPress Theme
Рубрики: CSS & Советы по Divi Метки: Тема Extra и Тема Divi

Об авторе:

Александр Коваль

Александр Коваль

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

Share via
Send this to a friend