При публикации постов блога в мета-данных поста выводиться дата его первой публикации. В данной статье описано, как для темы 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' );Александр Коваль
Некоторые ссылки в этой статье являются партнерскими.
Если вы кликните на такую ссылку и приобретете что-либо, я получу партнерскую комиссию.
День добрый Вам, Александр !
Задумываюсь приобрести данную темку, но пока в раздумьях.
Подскажите если в силах и с опытом.
Можно ли в Divi Theme 3.* реализовать отображение записей Блога таким образом как показано на прикреплённой мной ниже картинке:
https://cloud.mail.ru/public/Aeb1/NybttCqdA
Буду сильно признателен за ответ !
Здравствуй, Андрей!
Можно, но с помощью CSS. А может надо будет подправить и коды.
Перед покупкой можешь попробовать «поганять» тему на тестовом сайте. Скачать тему для пробы можно, например, здесь. Как на меня, честнее будет использовать тему с официального источника. Плюс еще в этом случае: для зарегистрированных пользователей есть форум поддержки, на котором решаются практически все трудности с темой. Однако перед покупкой стоит попробовать свои силы на тестовом сайте. Удачи. Будут вопросы — обращайся.
Спасибо за предоставленный код. Проверил на другом шаблоне вышла ошибка. Возможно его сделать универсальным для всех шаблонов?