## Функция get_categories()
: Получение категорий в WordPress
Функция get_categories()
в WordPress позволяет получить список категорий в виде массива объектов. Вы можете задавать различные параметры для того, чтобы указать, какие категории нужно получить и в каком порядке их сортировать.
### Параметры
Параметры, которые передаются в эту функцию, аналогичны параметрам функции wp_list_categories()
. Вы можете передавать их в виде массива или строковой команды, например: type=post&order=DESC
.
**Основные параметры**:
- **taxonomy** (обязательно) — название таксономии, для работы с которой вы хотите получить категории. Это может быть строка или массив.
- **number** (число) — максимальное количество категорий, которые нужно получить. По умолчанию — все.
- **orderby** (строка) — поле, по которому нужно сортировать результаты (например, по имени, ID и др.).
- **order** (строка) — направление сортировки (ASC - по возрастанию, DESC - по убыванию).
- **hide_empty** (true/false) — отображать или скрывать категории, у которых нет постов (по умолчанию — true, скрыть).
### Возвращаемое значение
Функция возвращает массив объектов WP_Term
, которые представляют собой категории. Если категорий не удаётся получить, возвращается пустой массив.
**Пример структуры возвращаемого массива**:
```php
Array
(
[0] => WP_Term Object
(
[term_id] => 7
[name] => Codex
[slug] => codex
[count] => 17
)
[1] => WP_Term Object ( ... )
...
)
Простой шаблон использования
Ниже приведен пример того, как использовать функцию get_categories()
:
$categories = get_categories( [
'taxonomy' => 'category',
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => 1,
] );
if( $categories ){
foreach( $categories as $cat ){
echo $cat->name . ' (' . $cat->count . ')
';
}
}
Полный список аргументов
Для понимания всех параметров, которые можно использовать с get_categories()
, ознакомьтесь с необходимыми в методе WP_Term_Query::__construct()
:
- exclude (строка/массив) — массив ID категорий, которые нужно исключить.
- include (строка/массив) — массив ID категорий, которые нужно включить.
- orderby (строка) — по какому полю сортировать.
- search (строка) — поиск по имени категории.
- parent (число) — ID родительской категории для получения только дочерних категорий.
Примеры использования функции
1. Вывод выпадающего списка категорий
С помощью функции wp_dropdown_categories()
можно создать выпадающий список категорий, но он будет менее гибким:
wp_dropdown_categories([
'hide_empty' => 0,
'name' => 'category_parent',
'orderby' => 'name',
'hierarchical' => true,
'show_option_none' => __('Не выбрано')
]);
Однако для большей гибкости лучше использовать get_categories()
:
2. Список категорий с описаниями
Вы можете вывести все категории с их описаниями следующим образом:
$categories = get_categories(['orderby' => 'name', 'order' => 'ASC']);
foreach( $categories as $category ){
echo 'Категория: ' . $category->name . '
';
echo 'Описание: ' . $category->description . '
';
echo 'Количество постов: ' . (int)$category->count . '
';
}
3. Получение только этих категорий, в которых есть посты
По умолчанию get_categories()
возвращает только непустые категории. Если вы хотите получать все категории, независимо от наличия постов, укажите параметр hide_empty => false
:
$args = ['hide_empty' => false];
$cats = get_categories($args); // вернет все категории (включая пустые)
Заключение
Функция get_categories()
позволяет гибко управлять выводом категорий в WordPress. Используйте её для создания навигации на вашем сайте и для упрощения работы с таксономиями.