Функция the_date()
выводит или возвращает дату написания текущего поста, если дата текущего поста отличается от даты предыдущего поста.
Это значит, что если вы используете эту функцию для каждого поста в цикле, то, если посты имеют одну и ту же дату публикации, то для этих постов функция выведет дату только один раз!
the_date( $format = '', $before = '', $after = '', $echo = true )
Параметры
- $format
- (строка) Формат даты PHP, полный список можете найти в официальной документации. По умолчанию – значение из Настройки > Общее
get_option( 'date_format' )
.
- $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>'; }
Не знаете, куда вставлять код?