Функция is_category()
в WordPress позволяет проверить, отображается ли в данный момент страница категории. Эта функция является частью обширного набора условных тегов WordPress, которые используются для проверки различных условий на сайте.
bool is_category( string|int|array $category = '' )
Параметры
- $category (string|int|array) (необязательный): Имя категории, ID категории или массив ID/имен категорий для проверки. По умолчанию проверяет, находится ли текущая страница в любой категории.
Возвращаемое значение
- bool: Возвращает
true
, если текущая страница является страницей категории, и соответствует указанной категории (если указана), иначе возвращаетfalse
.
Примеры использования
Пример 1: Проверка на странице категории
Простой пример использования is_category()
, чтобы проверить, находится ли пользователь на странице категории.
if ( is_category() ) {
echo 'Это страница категории!';
}
Пример 2: Проверка на конкретную категорию по ID
Можно передать ID категории для проверки.
if ( is_category( 5 ) ) {
echo 'Это категория с ID 5';
}
Пример 3: Проверка на конкретную категорию по имени
Также можно передать имя категории.
if ( is_category( 'Новости' ) ) {
echo 'Это категория "Новости"';
}
Пример 4: Проверка на несколько категорий
Можно передать массив ID или имен категорий для проверки. Имейте ввиду что регистр имеет значение, например WordPress, wordpress или WordPress — это 3 разных значения.
if ( is_category( array( 5, 'Новости' ) ) ) {
echo 'Это категория с ID 5 или категория "Новости"';
}
Пример 5: Использование внутри шаблона
Часто is_category()
используется внутри шаблонов для изменения контента в зависимости от текущей категории.
<?php if ( have_posts() ) : ?>
<?php if ( is_category( 'Новости' ) ) : ?>
<h1>Последние новости</h1>
<?php else : ?>
<h1>Блог</h1>
<?php endif; ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="post">
<h2><?php the_title(); ?></h2>
<div class="entry">
<?php the_content(); ?>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
Пример 6: Добавление класса к body
Вы можете использовать is_category()
для добавления CSS класса к тегу body на странице категории.
function my_body_classes( $classes ) {
if ( is_category( 'Новости' ) ) {
$classes[] = 'category-news';
}
return $classes;
}
add_filter( 'body_class', 'my_body_classes' );
Заключение
Функция is_category()
является мощным инструментом для проверки страниц категорий и позволяет вам адаптировать контент и внешний вид вашего сайта в зависимости от текущей категории. Надеюсь, эти примеры помогут вам понять, как использовать is_category()
в вашем проекте WordPress.