has_category()
Перевіряє, чи знаходиться поточний (або вказаний) запис хоч в одній із зазначених категорій.
Працює тільки для таксономії category
, якщо потрібно перевірити чи записи елементи іншої таксономії, то використовуйте has_term() .
Якщо не передані жодні рубрики для порівняння, то функція перевірятиме чи присвоєна посту хоч одна рубрика.
Працює на основі:
has_term()
has_term()
Основа для:
in_category()
in_category()
1 раз – 0.003414 сек
(дуже повільно) | 50000 разів – 0.84 сек
(дуже швидко) |
PHP 7.1.5, WP 4.8.1
(дуже повільно) | 50000 разів – 0.84 сек
(дуже швидко) |
PHP 7.1.5, WP 4.8.1
Хуків немає.
Повертає
true|false
. True – якщо у посту є хоч одна із зазначених категорій.
Використання
has_category ($ category, $ post);
-
$category
(рядок/число/масив) -
name/term_id/slug рубрики або масив із цих значень у яких потрібно перевірити наявність запису.
За замовчуванням: ” -
$post
(число/об’єкт) -
Запис (пост), у якого необхідно перевірити наявність зазначених рубрик.
Типово: null
Приклади
#1 Перевіримо, чи має пост хоч одна вказана рубрика
$post_id = 6235; if( has_category( array(37,'history'), $post_id) ){ echo "Піст з ID=$post_id знаходиться в рубриках `37` або `history`"; }
список змін
З версії 3.1.0 | Введено. |
Код has_category() has category WP 6.0.2
function has_category( $category = '', $post = null ) { return has_term( $category, 'category', $post ); }