Функция is_new_day()
— это условный тег в WordPress, который определяет, отличается ли дата публикации текущего поста от даты предыдущего поста в цикле. Она возвращает значение 1
, если текущий пост опубликован в другой день, чем предыдущий, и 0
в противном случае.
Эта функция полезна для создания шаблонов, где требуется сгруппировать или выделить посты по дням их публикации. Функция работает на основе глобальных переменных $currentday
и $previousday
, которые обновляются при каждом посте в цикле WordPress.
is_new_day(): int
Возвращаемое значение
1
— если текущая запись опубликована в новый день (отличный от предыдущего поста).0
— если текущий и предыдущий посты опубликованы в один и тот же день.
Применение
Функция часто используется в цикле WordPress для группировки постов по датам или для вывода даты только один раз для всех постов, опубликованных в один день.
1. Простой пример
В этом примере мы выводим текст «Новый день», если пост опубликован в новый день, отличающийся от даты предыдущего поста:
if ( is_new_day() ) {
echo "<h2>Новый день публикации</h2>";
}
Когда цикл доходит до поста, опубликованного в другой день, появится заголовок с надписью «Новый день публикации».
2. Вывод даты только один раз для группы постов за один день
Допустим, вы хотите, чтобы дата отображалась только один раз для группы постов, опубликованных в один и тот же день. Вот как это можно сделать:
if ( is_new_day() ) {
echo "<h2>" . get_the_date() . "</h2>";
}
Этот код будет выводить дату перед первым постом, опубликованным в новый день. Если несколько постов опубликованы в один день, дата выведется только один раз.
3. Группировка постов по датам
Функция is_new_day()
часто используется для создания разделителей между группами постов, опубликованными в разные дни. Вот пример того, как можно сгруппировать посты по датам:
if ( is_new_day() ) {
echo "<hr><h2>" . get_the_date() . "</h2>";
}
the_title();
the_content();
Этот код создаст разделитель и выведет дату перед каждым первым постом, опубликованным в новый день. Остальные посты этого дня будут следовать без разделителя.
Заключение
Функция is_new_day()
— это мощный инструмент для организации и группировки постов в цикле WordPress по датам их публикации. Она позволяет выводить информацию о новом дне только один раз для группы постов, опубликованных в один и тот же день. Используя ее в сочетании с другими функциями, такими как get_the_date()
, вы можете гибко управлять отображением контента на страницах с постами.