Как вывести дату вордпресс

Выводим дату публикации поста в 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.

Читайте также:  Как стирать ткань с глиттером

Где вносить правки?

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

Для редактирования даты в записях нужно искать фалы по типу:

Для правки даты постов в категориях могут использоваться файлы:

Перед началом изменений делаете бекап файла. Далее открываете файл и находите конструкции по выводу даты, которая используется у вас в шаблоне, например:

Удаляете ее и пишите код вашей кастомной функции для даты с настройками.

Обычно дату размещают под заголовком записи, или же в конце поста.

Формат даты в WordPress

Каждая из приведенных выше функций для работы с выводом даты публикаций принимает в качестве параметров формат даты, которую вы можете настроить под свои требования.

Давайте разберемся с форматированием на примере функции the_date().

По умолчанию эта функция принимает следующие параметры.

В качестве переменной $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 указывает выводить или не выводить результат работы функции. Ее обычно не указывают.

Пример использования функции:

На сайте получим вывод следующего кода:

Пример использования функции the_time() для работы с датой публикации поста.

С помощью кодов форматирования вы сможете вывести любую нужную для вас конструкцию даты публикации в WordPress.

Изменение формата даты и времени из админки WordPress

Если у себя в теме вы используете функции без указания переменной $format для функций: the_date(), get_the_date(), the_time(), get_the_time(), то вы сможете менять формат для даты и времени в административной панели WordPress. Для этого переходим в раздел «Настройки» — «Общие» и спускаемся вниз страницы, где находим следующие секции настроек.

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

Вывод даты последнего обновления поста

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

За вывод даты последнего форматирования поста отвечают функции — the_modified_time() и the_modified_date().

Чтобы вывести эти данные можно использовать следующий код.

Учтите, что если запись не редактировалась, то дата выводиться не будет. Часто разработчики на блогах используют обе даты: публикации и обновления.

Можно использовать и семантическую разметку для даты.

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

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

Источник

Форматы даты и времени в WordPress

В WordPress есть функции, которые получают дату или время записи, комментария или чего-то еще: the_date(), the_time(), mysql2date() и т.д. В каждую из таких функций можно передать формат, чтобы получить время или дату в нужном формате. В этой заметке показано, как получить любой формат и какие символы в указанном формате за что отвечают.

Простой пример: вывод на экран времени публикации записи:

Выведет дату в виде: 1 апреля 2016 в 20:09 .

Все символы формата даты и времени

А теперь, давайте рассмотрим все специальные символы, которые можно использовать в формате.

День месяца
d 01–31 Число, с нулем впереди
j 1–31 Число, без нуля впереди
S st, nd or th in the 1st, 2nd or 15th. Английский суффикс дня месяца
День недели
l Sunday – Saturday (Понедельник — Воскресенье) Полное название (строчная ‘L’)
D Mon – Sun (Пон — Вс) Короткое название
N 1 (понедельник) — 7 (воскресенье) Номер дня недели
w 0 (воскресенье) — 6 (суббота) Номер дня недели
Месяц
m 01–12 Число, с нулем впереди
n 1–12 Число, без нуля впереди
F January – December (Январь — Декабрь) Полное название
M Jan — Dec (Янв — Дек) Короткое название
t 28 — 31 Количество дней в месяце
Год
Y 1999, 2003 Число, 4 цифры
y 99, 03 Число, 2 цифры
z 0 — 365 Номер дня в году (начиная с 0)
W 34 (34-я неделя года) Номер недели года
L 1 или 0 Високосный ли это год
Время
a am, pm Строчный диапазон
A AM, PM Прописной диапазон
h 01–12 Часы (0-12), с нулем впереди
g 1–12 Часы (0-12), без нуля впереди
H 00-23 Часы (0-24), с нулем впереди
G 0-23 Часы (0-24), без нуля впереди
i 00-59 Минуты, с нулем впереди
s 00-59 Секунды, с нулем впереди
T EST, MDT . Аббревиатура временной зоны
Полные дата и время
c 2004-02-12T15:19:21+00:00 Дата в формате стандарта ISO 8601
r Thu, 21 Dec 2000 16:01:07 +0200 Дата в формате » RFC 2822
U 1455880176 Число, штамп времени Unix — количество секунд с 1 января 1970 года

Форматы из таблицы — это стандарт PHP и также могут быть использованы для форматирования даты в PHP, например, с помощью функции date().

Примеры

Формат Результат
F j, Y g:i a November 6, 2010 12:50 am
F j, Y November 6, 2010
F, Y November, 2010
g:i a 12:50 am
g:i:s a 12:50:48 am
l, F jS, Y Saturday, November 6th, 2010
M j, Y @ G:i Nov 6, 2010 @ 0:50
Y/m/d \a\t g:i A 2010/11/06 at 12:50 AM
Y/m/d \a\t g:ia 2010/11/06 at 12:50am
Y/m/d g:i:s A 2010/11/06 12:50:48 AM
Y/m/d 2010/11/06
Y-m-d H:i:s 2017-11-06 21:37:22

Пример с функцией WordPress

Экранирование

Если использовать символы не из таблицы, то они будут показаны как есть, например, в из примера выше. Но когда нужно, чтобы спецсимвол не обрабатывался (использовался как есть), его нужно экранировать обратным слэшем \ .

Локализация

Для перевода строк в дате вроде: November на язык сайта, используется функция date_i18n().

Также, для локализации формата можно использовать стандартные функции локализации: __(), _e() и т.д. Например:

Источник

wp_date() WP 5.3.0

Получает локализованную дату (переведенную на текущий язык) из переданной метки времени unix. Локализация PHP функции date().

Если в выводимой дате используется формат с месяцем или неделей в виде строки, то функция попытается перевести их на текущий язык. В остальных случаях — это аналог date() в PHP.

Это новая функция (введенная в версии 5.3), которая должна полностью заменить функцию date_i18n() .

Заметка: этой функции, в отличии от date_i18n() , нужно передавать «реальную» метку времени Unix (метку в UTC/GMT формате, без добавления к ней сдвижки временной зоны). Сдвижка временной зоны добавляется автоматически внутри функции на основе третьего параметра $timezone .

Указать произвольную сдвижку временной зоны можно в третьем параметре $timezone .

В связи с введением в версии 5.3 нового API для работы со временем.

Не рекомендуется:

  • Не получайте время WP timestamps (число равное метке времени + сдвижка времени сайта):
    • current_time( ‘timestamp’ )
    • get_post_time( ‘U’ )
  • Не локализуйте время/дату функцией:
    • date_i18n( DATE_RFC3339, $timestamp + $offset )
  • Не сохраняйте на постоянной основе WP timestamps .
  • Не сравнивайте WP timestamp’ы .
  • Не изменяйте временную зону PHP с помощью функции date_default_timezone_set() (это важное требование для правильной работы ядра).

Рекомендуется

  • Получайте время как Unix timestamp (метка времени Unix без сдвижки) или как объект DateTimeImmutable :
    • time()
    • current_datetime().
    • get_post_datetime().
    • get_post_timestamp().
  • Локализуйте время/дату базируясь на Unix timestamp:
    • wp_date( DATE_RFC3339, $timestamp ).
  • Сохраняйте Unix timestamps или форматы, которые точно указывают момент времени, например DATE_RFC3339.
  • Сравнивайте метки времени Unix, объекты DateTimeInterface или строковые даты в единой временной зоне.
  • Используйте объекты: DateTimeZone и DateTimeImmutable (с функцией wp_date() для локализации), когда нужно получить время во временной зоне отличной от зоны сайта).

Источник

Как показывать текущую дату в WordPress (2 способа)

Вполне вероятно, что вам может понадобиться выводить текущую дату в каком-то месте на вашем сайте на WordPress. Это покажет вашим читателям, что сайт «живой» и актуальный. И это будет дополнительным напоминанием посетителям сайта о сегодняшней дате.

Некоторые темы ВордПресс имеют встроенный параметр для отображения сегодняшней даты на сайте. Если ваша тема не поддерживает этого, вам нужно будет самому реализовать вывод текущей даты.

В сегодняшней статье мы рассмотрим 2 разных способа отображения сегодняшней даты на сайте на WordPress. В первую очередь мы создадим шорткод, а для второго способа будем использовать небольшой кусок PHP кода в файлах шаблонах темы.

Шорткод для отображения сегодняшней даты в WordPress

Чтобы показывать на сайте текущую дату, вы можете создать свой собственный шорткод, используя всего несколько строк кода. Если вы не сильно знакомы с шорткодами WordPress, рекомендуем прочитать эту статью. Уникальность использования шорткода для этой цели заключается в том, что он дает возможность выводить текущую дату в любой части вашего контента, а не только с помощью виджетов.

Добавьте следующий код в файл functions.php вашей активной темы:

Эта функция добавит новый шорткод в систему. Для вывода текущей даты будет использоваться настройка для формата дат, которую вы установили в пункте Настройки → Общие в Консоли.

После этого вы сможете использовать шорткод [currentdate] в редакторе WordPress. И он отобразит текущую дату во фронтэнде сайта в соответствии с форматом даты в настройках вашего сайта на WordPress.

Как показать сегодняшнюю дату с помощью кода

Если вы хотите показывать сегодняшнюю дату с помощью небольшого куска кода, и вас не пугает необходимость править файлы-шаблоны в теме, вы можете использовать этот способ.

Для этого вы можете использовать один из двух разных видов кода:

Этот код будет выводить на сайте текущую дату, используя формат даты, который установлен в настройках WordPress (как и шорткод, рассмотренный выше).

Но вы также можете указать свой формат даты, используя этот кусочек кода:

Вот что представляет собой каждый символ формата даты в приведенной выше строке:

  • l – это полное название дня недели (L в нижнем регистре)
  • j – это день месяца
  • F – это полное название месяца
  • Y – это цифровое обозначение года (4 цифры; если использовать нижний регистр, тогда последние 2 цифры года)

Вы можете использовать этот код, например, в шаблоне для шапки сайта – после закрывающего тега в файле header.php .

Чтобы добавить CSS-стилей для показа даты, вы можете обернуть этот код тегом

Краткий итог

Хотя это и не обязательно, но отображение текущей сегодняшней даты на сайте WordPress может вам пригодиться. Вы можете использовать для этого шорткод, либо небольшой кусок PHP кода в файлах шаблонах текущей темы. Мы не рассматриваем для решения этой задачи использование плагина, поскольку 2 способа в сегодняшней статье делают это проще и доступнее.

Источник

Оцените статью