При разработке информационного или новостного сайта, либо же раздела «Блог» для коммерческого сайта на WordPress, вы столкнетесь с необходимостью вывода даты публикации поста. Это простая задача, но есть некоторые нюансы использования различных функций WordPress для работы с датой.
Какие теги шаблона используются для вывода даты?
- the_date(). Этот тег получает и выводит на экран дату поста или группы постов (опубликованных в один день). Используется только внутри цикла WordPress.
- get_the_date(). Получает дату текущего поста. Для того чтобы вывести ее на вашем сайте нужно использовать код: echo get_the_date().
- the_time(). Выводит на экран время и дату публикации текущей записи.
- get_the_time(). Получает время текущей публикации. Для вывода используют конструкцию: echo get_the_time().
Важный момент! При выводе конструкции the_date() в цикле вывода постов, например на странице категории, дата будет выводиться только для последней записи с одинаковой датой публикации. Проще говоря, если вы за день опубликуете три поста, то дата будет отображаться только для последнего добавленного поста, а двух остальных она отображаться не будет.
Чтобы решить эту проблему вместо the_date(), в цикле можно использовать конструкцию echo get_the_date(),она всегда получает дату, даже если следующий (в цикле) пост был опубликован в тот же день. Второй вариант решения проблемы – это использование конструкций the_time() или же echo get_the_time(), с указанием формата в виде даты. В таком случае все записи, опубликованные даже в один день, будут иметь разное время публикации, и значение будет выводиться в цикле WordPress.
Где вносить правки?
Перед тем как я покажу примеры конструкций кода для вывода даты записи, стоит уточнить, что изменения вносятся в файлах темы, которую вы используете для своего сайта.
Для редактирования даты в записях нужно искать фалы по типу:
/wp-content/themes/ваша_тема/single.php
или же:
/wp-content/themes/ваша_тема/template-parts/content-single.php
Для правки даты постов в категориях могут использоваться файлы:
/wp-content/themes/ваша_тема/archive.php
или:
/wp-content/themes/ваша_тема/category.php
Перед началом изменений делаете бекап файла. Далее открываете файл и находите конструкции по выводу даты, которая используется у вас в шаблоне, например:
<?php twentynineteen_posted_on(); ?>
Удаляете ее и пишите код вашей кастомной функции для даты с настройками.
Обычно дату размещают под заголовком записи, или же в конце поста.
Формат даты в WordPress
Каждая из приведенных выше функций для работы с выводом даты публикаций принимает в качестве параметров формат даты, которую вы можете настроить под свои требования.
Давайте разберемся с форматированием на примере функции the_date().
По умолчанию эта функция принимает следующие параметры.
<?php the_date( $format, $before, $after, $echo ); ?>
В качестве переменной $format – указывают формат записи.
Чаще всего используют следующие коды для формирования структуры даты записи.
- Y – год в виде четырех цифр, например, 2021;
- y – год в виде двух последних цифр, 21;
- m – номер месяца с нулями, например, 02, 08, 10;
- M – сокращенное название месяца, например, Фев, Окт;
- F – полное название месяца, Февраль;
- j – день месяца без нулей, от 1 до 31;
- d – день месяца с нулями, от 01 до 31;
- l (строчная английская L) – полное название дня недели;
- D – сокращенное название дня недели, например, Пн, Вт.
Пример конструкции даты формата: 12.01.2021, будет иметь следующий вид: j.m.Y. А для вывода значения в виде 12 января 2021, нужно использовать форматирование: j F Y.
Переменная $before используется для указания тега, текста или прочего элемента, который будет отображаться перед датой. Переменная $after, делает то же самое, но только выводит значение после даты.
Переменная $echo указывает выводить или не выводить результат работы функции. Ее обычно не указывают.
Пример использования функции:
<?php the_date( 'j.m.Y', ‘<div>’, ‘</div>’ ); ?>
На сайте получим вывод следующего кода:
<div>12.01.2021</div>
Пример использования функции the_time() для работы с датой публикации поста.
<?php the_time(' Y-j-m '); ?> в <?php the_time('G:i'); ?>
Результат вывода:
2021-12-01 в 23:51
С помощью кодов форматирования вы сможете вывести любую нужную для вас конструкцию даты публикации в WordPress.
Изменение формата даты и времени из админки WordPress
Если у себя в теме вы используете функции без указания переменной $format для функций: the_date(), get_the_date(), the_time(), get_the_time(), то вы сможете менять формат для даты и времени в административной панели WordPress. Для этого переходим в раздел «Настройки» — «Общие» и спускаемся вниз страницы, где находим следующие секции настроек.

Выбираем нужный формат и нажимаем кнопку «Сохранить изменения». Формат дат для записей измениться.

Вывод даты последнего обновления поста
При редактировании записи после ее сохранения обновляется и дата последнего изменения поста. Поисковики в последнее время акцентируют внимание на актуализации и обновлении старых постов на блоге, и вывод такой информации позволит оповестить поисковые системы о том, что вы внесли изменения в контенте страницы.
За вывод даты последнего форматирования поста отвечают функции — the_modified_time() и the_modified_date().
Чтобы вывести эти данные можно использовать следующий код.
<?php
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
echo "<p>Последнее обновление - ";
the_modified_time('j F Y');
"</p> ";
}
?>
Учтите, что если запись не редактировалась, то дата выводиться не будет. Часто разработчики на блогах используют обе даты: публикации и обновления.
Можно использовать и семантическую разметку для даты.
Обновлено: <time datetime=»<?php the_modified_time(‘Y-m-d’); ?>»><?php the_modified_time(‘F jS, Y’); ?></time>
Важный момент! После публикации даты обновления поисковики изменять ее и в результатах выдачи, что поможет повысить кликабельность, поскольку пользователь будет видеть, что статья актуальна.
На этом сегодня все, надеюсь, материал был для вас полезен.