Функция is_month()
— это условный тег в WordPress, который проверяет, отображается ли страница архива записей за определённый месяц. Если страница является архивом за месяц (например, URL выглядит как example.com/2023/10
), функция вернёт true
, иначе — false
.
Эта функция полезна для создания специфичных шаблонов или поведения на страницах с архивами по месяцам. Она часто используется для добавления информации в шаблон, например, чтобы указать пользователю, что они просматривают архив постов за конкретный месяц.
is_month(): bool
Возвращаемое значение
true
— если текущая страница является архивом за месяц.false
— если страница не является архивом за месяц.
Применение
Функция используется для динамического изменения контента или дизайна на страницах архивов, когда требуется отличить месяц от других архивов, таких как категории или даты.
1. Простой пример использования
Этот пример показывает, как можно проверить, является ли текущая страница архивом за месяц, и вывести сообщение:
if ( is_month() ) {
echo "<h2>Вы просматриваете архив записей за месяц</h2>";
}
Когда пользователь зайдёт на архив по месяцам, этот код выведет заголовок, указывающий, что они на странице архива за месяц.
2. Отображение специального заголовка на странице архива за месяц
В следующем примере создаётся переменная $title
, которая будет использоваться для отображения специального заголовка, если это архив за месяц:
if ( is_month() ) {
$title = "Записи за " . get_the_date('F Y');
echo "<h1>" . $title . "</h1>";
}
Этот код выведет название месяца и год (например, «Записи за Октябрь 2023»), когда пользователь будет находиться на странице архива за месяц.
3. Использование с условием is_archive()
В этом примере показано, как правильно использовать is_month()
в цепочке с другими условными тегами, такими как is_archive()
:
if ( is_month() ) {
echo "Это архив за месяц!";
} elseif ( is_archive() ) {
echo "Это архив, но не по месяцам.";
}
Важно отметить, что функцию is_month()
нужно проверять до is_archive()
, так как is_archive()
охватывает все типы архивов, включая архивы по месяцам. Если проверка на is_month()
будет стоять после is_archive()
, она никогда не сработает, так как is_archive()
вернёт true
раньше.
4. Добавление сообщения в сайдбар
Вы можете добавить специальное сообщение в сайдбар или любое другое место на странице архива за месяц, используя следующий код:
if ( is_month() ) {
echo "<div class='archive-message'>Вы просматриваете архив за " . get_the_date('F Y') . "</div>";
}
Этот код добавляет сообщение с названием месяца и года в блок с классом archive-message
. Это полезно, если вы хотите выделить пользователю, что они находятся на странице архива за месяц.
Заключение
Функция is_month()
— это простой, но эффективный инструмент для проверки того, отображается ли в текущем запросе страница архива по месяцам. Она позволяет гибко управлять отображением контента в зависимости от того, какой архив просматривает пользователь, и часто используется в шаблонах тем для WordPress.