Описание функции get_categories()
Функция get_categories() получает список категорий WordPress с возможностью фильтрации и сортировки. Она позволяет получить как все категории, так и категории с определенными параметрами. Функция поддерживает иерархическую структуру категорий, различные способы сортировки (по имени, ID, количеству записей) и фильтрацию (пустые/непустые категории, родительские/дочерние).
Результаты возвращаются в виде массива объектов WP_Term, что обеспечивает удобный доступ к свойствам категорий, таким как название, описание, количество записей и мета-данные
Параметры
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для получения категорий
Возможные значения:
type: category, link_category, post_tag, nav_menu
orderby: name, id, slug, count, term_group
order: ASC, DESC
hide_empty: 1,
parent: ID родительской категории
hierarchical: 1,
child_of: ID родительской категории
Возвращаемое значение
Тип: array
Описание: Массив объектов WP_Term, представляющих категории
Возможные значения:
• Массив объектов WP_Term при успешном выполнении
• Пустой массив если категории не найдены
• WP_Error в случае ошибки
Примеры использования
Базовый пример получения всех категорий
$categories = get_categories();
foreach($categories as $category) {
echo $category->name.', ';
}
Новости, Статьи, Обзоры,
Получение непустых категорий, отсортированных по имени
$args = array(
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => true
);
$categories = get_categories($args);
hide_empty=true исключает категории без записей
Проверка на наличие ошибок при получении категорий
$categories = get_categories();
if (is_wp_error($categories)) {
echo 'Ошибка: ' . $categories->get_error_message();
}
else {
foreach($categories as $category) {
echo $category->name . ', ';
}
}
Выводит сообщение об ошибке, если запрос не удался
Получение популярных категорий для отображения в списке
$args = array(
'orderby' => 'count',
'order' => 'DESC'
);
$categories = get_categories($args);
foreach($categories as $category) {
echo ' ' . esc_html($category->name) . ' (' . $category->count . ') ';
}
Список категорий, отсортированных по количеству записей
Безопасность
Валидация входных данных: Все параметры проходят валидацию внутри функции
Санитизация: Параметры автоматически очищаются WordPress
Рекомендации: При выводе данных используйте esc_html() для названий категорий
— Связанные функции
Получает одну категорию по ID
Получает категории конкретной записи
— Хуки
Фильтрует аргументы перед запросом категорий
Фильтрует результаты после получения категорий
— Примечания
– Ограничения
Возвращает только публичные категории по умолчанию
– Частые проблемы
- Пустой результат при неправильных параметрах
- Проблемы с иерархией при неверных настройках parent/child_of