Привет, сегодня мы рассмотрим решение проблемы с тегом шаблонов the_date на WordPress, который выводит дату публикации поста в блоге. Люди сталкиваются с проблемой, что WordPress the_date работает не у всех постов, как от чего, почему?

Wordpress the_date работает не у всех постов

Тэг (а если по правде, то встроенная в wordpress функция) the_date выводит дату публикации поста внутри loop (цикла вывода постов в категории, и любом другом архиве постов). Но срабатывает не для всех постов. Это связано с тем, что WordPress, оптимизируя работу с БД, выводит the_date только для первого вхождения конкретной даты в цикл. То есть если у вас есть несколько постов, опубликованных в один день, то the_date сработает только для первого из них. Поэтому и создаётся впечатление, что в категории посты как-то кособоко выводят дату публикации.

Решение проблемы WordPress the_date работает не у всех постов

Решение очень простое: можно использовать шаблонную функцию the_time, которая выводит не только дату, но и время. Получается, что время всегда будет уникальным (за исключением каких-нибудь автоматических постов, у которых и секунды совпадают).

Для вывода даты публикации поста на WordPress в функцию the_time нужно передать параметр формата вывода (стандартный для функции date на PHP).

Например вот так:


выведет дату в формате день.месяц.год (01.01.1970)

Также есть альтернатива (в которой нет встроенного вывода, то есть перед которой нужно написать echo), get_the_date, и также передать в неё параметр формата даты. Но такая функция не выведет дату, а вернет её в переменную, поэтому нужно писать:


В результате получим тоже самое 01.01.1970.

Надеюсь, что этот пост помог вам разобраться с проблемой WordPress the_date работает не у всех постов. Если остались вопросы задавайте их в комментариях к посту, или через зеленую кнопку «Вопрос специалисту».