# Функция GET_CATEGORY() в WordPress
Функция get_category() позволяет получить данные категории по её идентификатору или объекту категории.
### Как это работает
Если вы передаете аргумент $category как объект, то предполагается, что это объект строки категории, полученный из базы данных. В этом случае данные категории будут кешироваться.
Если вы передаете $category как целое число (идентификатор категории), то функция получит эту категорию из базы данных, если она ещё не кеширована, и вернет её.
Функция проходит через несколько фильтров и, в конце концов, очищает данные категорий на основе значения параметра $filter.
### Использует
Функция get_term().
**Время выполнения:**
- 1 раз — 0.000443 сек (быстро)
- 50000 раз — 0.92 сек (очень быстро)
**Версия PHP:** 7.0.5, **Версия WordPress:** 4.5.1
**Хуки:** Не используются.
### Возврат значения
Функция возвращает объект, массив, ошибку WP_Error или null. Если категория не существует, возвращается null, а если $category пустой, возвращается WP_Error.
### Синтаксис функции
```php
get_category( $category, $output, $filter );
- $category (int|object) (обязательный) — Идентификатор категории или объект строки категории.
- $output (string) — Необходимый формат возврата. Может принимать значения:
OBJECT,ARRAY_AилиARRAY_N, что соответствует объекту WP_Term, ассоциативному массиву или числовому массиву соответственно.- По умолчанию: OBJECT
- $filter (string) — Ка�� очищать поля категории.
- По умолчанию: 'raw'
Примеры использования
Пример 1: Вывод данных текущей категории
$cat = get_category( get_query_var('cat') );
// Либо:
if( is_category() ){
$cat = get_category( get_queried_object() );
}
print_r( $cat );
Результат может выглядеть следующим образом:
stdClass Object
(
[term_id] => 85
[name] => Название категории
[slug] => nazvanie-kategorii
[term_group] => 0
[term_taxonomy_id] => 85
[taxonomy] => category
[description] =>
[parent] => 70
[count] => 0
[cat_ID] => 85
[category_count] => 0
[category_description] =>
[cat_name] => Название категории
[category_nicename] => nazvanie-kategorii
[category_parent] => 70
)
Теперь мы можем получить данные категории следующим образом:
echo $cat->name; // Выводит название категории
echo $cat->slug; // Выводит слаг категории
echo $cat->count; // Выводит количество постов в категории
// и так далее...
Изменения
С версии: 1.5.1 — Введена функция.
Код функции GET_CATEGORY()
function get_category( $category, $output = OBJECT, $filter = 'raw' ) {
$category = get_term( $category, 'category', $output, $filter );
if ( is_wp_error( $category ) ) {
return $category;
}
_make_cat_compat( $category );
return $category;
}
Связанные функции
cat_is_ancestor_of()category_description()category_exists()get_cat_ID()get_cat_name()get_categories()get_category_by_slug()get_category_link()get_category_parents()get_the_category_by_ID()in_category()single_cat_title()wp_create_category()wp_dropdown_categories()wp_insert_category()wp_list_categories()