is_category()

Определяет, является ли запрос существующей страницей архива категории
Функция WordPress
INT 1.5.0
WordPress Icon
Содержание
  1. Описание функции
  2. Примеры использования
  3. Определение текущей категории
  4. Проверка наличия категории
  5. Получение списка постов из определенной категории
  6. Установка дополнительных параметров для категории
  7. Использование функции is_category() в шаблоне страницы
  8. Проверка наличия подкатегорий у текущей категории
  9. Вопросы и ответы
  10. Как определить, является ли текущая страница архивной страницей категории?
  11. Как проверить, является ли текущая страница архивной страницей определенной категории?
  12. Как получить ID текущей категории на архивной странице категории?
  13. Как проверить, является ли текущая страница архивной страницей любой категории?
  14. Как проверить, является ли текущая страница архивной страницей нескольких категорий?
  15. Как проверить, является ли текущая страница архивной страницей категории по ее имени?
  16. Как проверить, является ли текущая страница архивной страницей категории по ее слагу?
  17. Как проверить, является ли текущая страница архивной страницей категории по ее ID?
  18. Связанные элементы

Описание функции

Функция is_category() определяет, является ли текущий запрос страницей архива существующей категории.

Она проверяет, соответствует ли текущая страница архиву категории, и возвращает значение true, если это так, или false, если нет.

Использование

is_category( int|string|int[]|string[] $category = '' ) : bool;

Функция is_category() принимает один необязательный параметр $category, который может быть целым числом, строкой, массивом целых чисел или массивом строк.

Параметр $category используется для проверки соответствия текущей страницы архиву категории. Если параметр не указан, функция проверяет текущую страницу на наличие архива любой категории.

  • $category (int|string|int[]|string[]) (необязательный): ID, название, слаг категории или массив таких значений для проверки. По умолчанию: » (пустая строка).

Функция возвращает значение true, если текущий запрос является страницей архива существующей категории, или false, если нет.

<?php
    // Проверяем, является ли текущая страница архивом категории с ID 5
    if ( is_category( 5 ) ) {
        echo "Это страница архива категории с ID 5";
    } else {
        echo "Это не страница архива категории с ID 5";
    }
    // Проверяем, является ли текущая страница архивом категории с названием "news"
    if ( is_category( 'news' ) ) {
        echo "Это страница архива категории с названием 'news'";
    } else {
        echo "Это не страница архива категории с названием 'news'";
    }
    // Проверяем, является ли текущая страница архивом категории с слагом "events"
    if ( is_category( 'events' ) ) {
        echo "Это страница архива категории со слагом 'events'";
    } else {
        echo "Это не страница архива категории со слагом 'events'";
    }
    // Проверяем, является ли текущая страница архивом категории с ID 5 или названием "news"
    if ( is_category( array( 5, 'news' ) ) ) {
        echo "Это страница архива категории с ID 5 или названием 'news'";
    } else {
        echo "Это не страница архива категории с ID 5 или названием 'news'";
    }
?>

Примеры использования

Определение текущей категории


$category = get_queried_object();
if (is_category()) {
    echo 'Текущая категория: ' . $category->name;
}

В данном примере мы используем функцию get_queried_object() для получения объекта текущей категории. Затем, с помощью функции is_category(), мы проверяем, является ли текущая страница архивной страницей категории. Если это так, то выводим название текущей категории.

Проверка наличия категории


$category_id = 5;
if (is_category($category_id)) {
    echo 'Категория с ID 5 существует.';
}

В данном примере мы используем функцию is_category() для проверки наличия категории с указанным ID. Если категория с таким ID существует, то выводим сообщение об этом.

Получение списка постов из определенной категории


$category_slug = 'news';
$query = new WP_Query(array(
    'category_name' => $category_slug
));
if ($query->have_posts()) {
    while ($query->have_posts()) {
        $query->the_post();
        // Выводим заголовок поста
        the_title();
        echo '<br>';
    }
}
wp_reset_postdata();

В данном примере мы используем функцию is_category() для проверки, является ли текущая страница архивной страницей категории. Затем, с помощью класса WP_Query, мы создаем новый запрос, чтобы получить список постов из определенной категории. Если посты найдены, то выводим их заголовки.

Установка дополнительных параметров для категории


$category_slug = 'news';
$category = get_category_by_slug($category_slug);
if ($category) {
    $category_id = $category->term_id;
    // Устанавливаем параметры для категории
    is_category($category_id);
}

В данном примере мы используем функцию get_category_by_slug() для получения объекта категории по ее слагу. Затем, если категория найдена, мы получаем ее ID и используем функцию is_category() для установки параметров текущей категории.

Использование функции is_category() в шаблоне страницы


if (is_category()) {
    // Выводим заголовок страницы
    echo get_the_archive_title();
}

В данном примере мы используем функцию is_category() для проверки, является ли текущая страница архивной страницей категории. Если это так, то выводим заголовок страницы с помощью функции get_the_archive_title().

Проверка наличия подкатегорий у текущей категории


$category_id = 10;
$has_children = get_categories(array(
    'child_of' => $category_id
));
if ($has_children) {
    echo 'У текущей категории есть подкатегории.';
}

В данном примере мы используем функцию get_categories() с параметром child_of, чтобы получить список подкатегорий для указанной категории. Затем, если у текущей категории есть подкатегории, то выводим сообщение об этом.

Вопросы и ответы

Как определить, является ли текущая страница архивной страницей категории?

Функция is_category() позволяет определить, является ли текущая страница архивной страницей категории.

Для этого необходимо вызвать функцию is_category() без параметров.


if ( is_category() ) {
    // Текущая страница - архивная страница категории
} else {
    // Текущая страница - не архивная страница категории
}

Как проверить, является ли текущая страница архивной страницей определенной категории?

Функция is_category() также позволяет проверить, является ли текущая страница архивной страницей определенной категории.

Для этого необходимо передать в функцию is_category() ID, имя, слаг или массив таких значений категории, с которыми нужно сравнить текущую страницу.


$category = 'news'; // Имя категории
if ( is_category( $category ) ) {
    // Текущая страница - архивная страница категории "news"
} else {
    // Текущая страница - не архивная страница категории "news"
}

Как получить ID текущей категории на архивной странице категории?

Для получения ID текущей категории на архивной странице категории можно воспользоваться функцией get_queried_object_id().


if ( is_category() ) {
    $category_id = get_queried_object_id();
    // Используйте $category_id для дальнейших операций
}

Как проверить, является ли текущая страница архивной страницей любой категории?

Для проверки, является ли текущая страница архивной страницей любой категории, можно использовать функцию is_category() без параметров.


if ( is_category() ) {
    // Текущая страница - архивная страница любой категории
} else {
    // Текущая страница - не архивная страница категории
}

Как проверить, является ли текущая страница архивной страницей нескольких категорий?

Для проверки, является ли текущая страница архивной страницей нескольких категорий, можно использовать функцию is_category() с передачей массива идентификаторов, имён или слагов категорий в качестве параметра:

$categories = array(1, 'news', 'events');
if (is_category($categories)) {
    // Текущая страница является архивной страницей указанных категорий
} else {
    // Текущая страница не является архивной страницей указанных категорий
}

Как проверить, является ли текущая страница архивной страницей категории по ее имени?

Для проверки, является ли текущая страница архивной страницей категории по ее имени, можно использовать функцию is_category() с передачей имени категории в качестве параметра:

$category_name = 'news';
if (is_category($category_name)) {
    // Текущая страница является архивной страницей категории с именем 'news'
} else {
    // Текущая страница не является архивной страницей категории с именем 'news'
}

Как проверить, является ли текущая страница архивной страницей категории по ее слагу?

Для проверки, является ли текущая страница архивной страницей категории по ее слагу, можно использовать функцию is_category() с передачей слага категории в качестве параметра:

$category_slug = 'news';
if (is_category($category_slug)) {
    // Текущая страница является архивной страницей категории с слагом 'news'
} else {
    // Текущая страница не является архивной страницей категории с слагом 'news'
}

Как проверить, является ли текущая страница архивной страницей категории по ее ID?

Для проверки, является ли текущая страница архивной страницей категории по ее ID, можно использовать функцию is_category() с передачей ID категории в качестве параметра:

$category_id = 1;
if (is_category($category_id)) {
    // Текущая страница является архивной страницей категории с ID 1
} else {
    // Текущая страница не является архивной страницей категории с ID 1
}

Функция is_category() позволяет проверить, является ли текущая страница архивной страницей указанной категории. Она принимает в качестве параметра ID, имя, слаг или массив таких значений категорий. Результатом выполнения функции является логическое значение — true, если текущая страница является архивной страницей указанной категории, и false в противном случае.

Связанные элементы

  • Функция get_category(): Возвращает объект категории по ID или имени категории.
  • Функция get_categories(): Возвращает массив объектов категорий.
  • Функция get_category_by_slug(): Возвращает объект категории по слагу.
  • Функция get_category_by_path(): Возвращает объект категории по пути.
  • Функция get_category_link(): Возвращает URL ссылки на категорию.
  • Функция get_category_parents(): Возвращает массив родительских категорий для указанной категории.
  • Класс WP_Taxonomy: Определяет базовый класс для таксономий WordPress.
  • Класс WP_Query: Позволяет создавать и выполнять запросы к базе данных WordPress.
Обсуждение