При публикации постов блога в мета-данных поста выводиться дата его первой публикации. В данной статье описано, как для темы 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. А может надо будет подправить и коды.
Перед покупкой можешь попробовать «поганять» тему на тестовом сайте. Скачать тему для пробы можно, например, здесь. Как на меня, честнее будет использовать тему с официального источника. Плюс еще в этом случае: для зарегистрированных пользователей есть форум поддержки, на котором решаются практически все трудности с темой. Однако перед покупкой стоит попробовать свои силы на тестовом сайте. Удачи. Будут вопросы — обращайся.
Спасибо за предоставленный код. Проверил на другом шаблоне вышла ошибка. Возможно его сделать универсальным для всех шаблонов?