Выводим дату публикации поста в WordPress. Разбираем форматы и встроенные функции движка.

При разработке информационного или новостного сайта, либо же раздела «Блог» для коммерческого сайта на 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>

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

На этом сегодня все, надеюсь, материал был для вас полезен.

Поделиться в социальных сетях:
Нет комментариев к данной статье

Оставить новый комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *