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