has_category()
Проверяет находится ли текущая (или указанная) запись хоть в одной из указанных категорий.
Работает только для таксономии category
, если нужно проверить если ли у записи элементы другой таксономии, то используйте has_term().
Если не переданы никакие рубрики для сравнения, то функция будет проверять присвоена ли посту хоть одна рубрика.
Работает на основе: has_term()
Основа для: in_category()
1 раз — 0.003414 сек (очень медленно) | 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.6.2
function has_category( $category = '', $post = null ) { return has_term( $category, 'category', $post ); }