Функция has_category() в WordPress: проверка принадлежности записи категории

## HAS_CATEGORY() │ WP 3.1.0

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

Эта функция работает только с таксономией категорий. Если вам нужно проверить запись на наличие другой таксономии, используйте функцию has_term().

Если не указаны категории для проверки, функция проверяет, назначена ли записи хотя бы одна категория.

Указанные категории проверяются по term_ids, именам и слагам (slug). Если категории указаны как числа, будет проверяться только term_ids.

Если категории не указаны, функция определяет, имеет ли запись какие-либо категории.

**Замечание**: Для получения дополнительной информации используйте has_term().

### Возвращаемое значение

Функция возвращает true или false. true, если текущая запись принадлежит к любой из указанных категорий (или к любой категории, если категории не указаны). В противном случае возвращает false.

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

```php
has_category( $category, $post );
  • $category (string|int|array) — название категории, term_id, slug, или массив этих значений для проверки.
    • По умолчанию: ''
  • $post (int|WP_Post) — запись для проверки.
    • По умолчанию: текущая запись

Примеры

Пример 1: Проверка, принадлежит ли запись хотя бы одной из указанных категорий.

$post_id = 6235;
if ( has_category( array( 37, 'history' ), $post_id ) ) {
    echo "Запись с ID = $post_id принадлежит категории 37 или history";
}

Изменения в версии

  • С версии 3.1.0 — функция была введена.

Код функции

Функция has_category определена в файле wp-includes/category-template.php.

function has_category( $category = '', $post = null ) {
    return has_term( $category, 'category', $post );
}

Связанные функции

Вот несколько функций, которые могут быть полезны при работе с таксономиями и категориями:

  • cat_is_ancestor_of()
  • category_exists()
  • comments_open()
  • has_tag()
  • in_category()
  • the_category()

Эти функции помогут вам лучше управлять записями и их категориями в WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *