Описание функции has_category()
Функция has_category() проверяет, принадлежит ли запись к определенной категории или категориям. Используется для условной обработки контента на основе категорий, что позволяет создавать более динамичные и контекстуальные шаблоны.
Функция может принимать как ID, так и слаги категорий, а также может работать с массивами значений.
Параметры
$category
Тип: mixed
Обязательный: Да
По умолчанию: null
Описание: ID категории, слаг категории или массив категорий для проверки
Возможные значения:
int: ID категории (например, 5)
string: Слаг категории (например, ‘news’)
array: Массив ID или слагов категорий (например, array(5, ‘news’))
$post_id
Тип: int
Обязательный: Нет
По умолчанию: null
Описание: ID записи для проверки (по умолчанию используется текущая запись)
Возможные значения:
int: ID записи (например, 10)
Возвращаемое значение
Тип: bool
Описание: Возвращает true, если запись принадлежит указанной категории, иначе false
Возможные значения:
• true — если запись принадлежит к указанной категории
• false — если запись не принадлежит к указанной категории
Примеры использования
Базовый пример проверки принадлежности записи к категории по ID
$has_category = has_category(5);
// Выводит true, если запись принадлежит категории с ID 5
echo $has_category ? 'Принадлежит' : 'Не принадлежит';
Пример проверки принадлежности записи к категории по слагу
$has_category = has_category('news');
// Выводит true, если запись принадлежит категории с слагом 'news'
echo $has_category ? 'Принадлежит' : 'Не принадлежит';
Проверка принадлежности к нескольким категориям
$has_category = has_category(array(5, 'news'));
// Выводит true, если запись принадлежит хотя бы к одной из указанных категорий
echo $has_category ? 'Принадлежит' : 'Не принадлежит';
Пример проверки категории для конкретной записи
$has_category = has_category('news', 10);
// Проверка принадлежности к категории 'news' для записи с ID 10
echo $has_category ? 'Принадлежит' : 'Не принадлежит';
Безопасность
Валидация входных данных: Функция проверяет корректность входных данных
Санитизация: Входные параметры автоматически очищаются WordPress
Рекомендации: Обязательно проверяйте, что переданные значения являются допустимыми категориями
— Связанные функции
Проверяет принадлежность записи к термину в любой таксономии
Получает категории для текущей записи
— Примечания
– Ограничения
Не работает для произвольных типов записей, если для них не зарегистрированы категории
– Частые проблемы
- Неверные ID или слаги категорий могут привести к неправильным результатам
- Проблемы с кэшированием могут влиять на результаты, если кэширование категорий не настроено