the_date() – дата публикации текущего поста

Функция the_date() выводит или возвращает дату написания текущего поста, если дата текущего поста отличается от даты предыдущего поста.

Это значит, что если вы используете эту функцию для каждого поста в цикле, то, если посты имеют одну и ту же дату публикации, то для этих постов функция выведет дату только один раз!

Функция работает только внутри цикла WordPress. Про циклы смотрите мой видеоурок. Если вам нужно получить дату и время публикации определённого поста за пределами цикла, то используйте функцию get_the_date().

the_date( $format = '', $before = '', $after = '', $echo = true )

Параметры

$format
(строка) Формат даты PHP, полный список можете найти в официальной документации. По умолчанию – значение из Настройки > Общее get_option( 'date_format' ).
Формат даты в настройках WordPress
$before
(строка) HTML-код или текст, который планируете вывести перед датой.
$after
(строка) HTML-код или текст, который планируете вывести после даты.
$echo
(логическое) Определяет, выводить или возвращать результат. По умолчанию: true (выводит результат).

Примеры

Используем функцию без аргументов:

the_date(); // выведет 09.06.2020, т.к. в админке указан формат даты 'd.m.Y'

Поменяем формат даты. Вдруг мы захотим проверить в каком году была сделана запись: в високосном или нет:

the_date( 'L' ); //выведет 1. 1 - год високосный, 0 - нет.

Выведем код, указав параметры $before и $after, а также изменим формат даты на формат интернет сообщений:

the_date( 'r', '<span>', '</span>'  ); //выведет <span>Вт, 09 Июн 2020 14:10:03 +0300</span>

Используем третий аргумент функции:

$the_post_date = the_date( '', '', '', false ); // запишет в переменную значение 09.06.2020
 
echo the_date( '', '', '', false ); // сразу выведет 09.06.2020

Фильтр the_date

Предположим, что вы хотите добавить HTML-тег <time> к выводимому времени везде на сайте! Как это можно сделать при помощи фильтра:

add_filter( 'the_date', 'true_add_time_tag', 25, 4 );
 
function true_add_time_tag( $the_date, $format, $before, $after ) {
 
	return '<time>' . $the_date . '</time>';
 
}

Не знаете, куда вставлять код?

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

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

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.