Описание функции WP_Term_Query()
Функция WP_Term_Query() используется для создания запросов к терминам в таксономиях WordPress. Она позволяет фильтровать, сортировать и извлекать термины, такие как категории и метки, с помощью различных параметров. Результаты возвращаются в виде массива объектов WP_Term, что обеспечивает удобный доступ к их свойствам.
Функция часто используется в темах и плагинах для отображения списков терминов, например, в виджетах или при генерации навигационных меню.
Параметры
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для настройки запроса терминов
Возможные значения:
taxonomy: название таксономии (например, ‘category’)
hide_empty: 1,
orderby: name, count, term_id
order: ASC, DESC
include: массив ID терминов для включения
exclude: массив ID терминов для исключения
parent: ID родительского термина
Возвращаемое значение
Тип: array
Описание: Массив объектов WP_Term, представляющих термины
Возможные значения:
• Массив объектов WP_Term при успешном выполнении
• Пустой массив если термины не найдены
• WP_Error в случае ошибки
Примеры использования
Базовый пример получения всех терминов категории
$args = array(
'taxonomy' => 'category'
);
$query = new WP_Term_Query($args);
foreach($query->terms as $term) {
echo $term->name . ', ';
}
Выводит названия всех категорий
Получение меток, отсортированных по количеству записей в порядке убывания
$args = array(
'taxonomy' => 'post_tag',
'orderby' => 'count',
'order' => 'DESC'
);
$query = new WP_Term_Query($args);
Наиболее популярные метки будут показаны первыми
Проверка на наличие ошибок в запросе
$args = array(
'taxonomy' => 'invalid_taxonomy'
);
$query = new WP_Term_Query($args);
if (is_wp_error($query)) {
echo 'Ошибка: ' . $query->get_error_message();
}
Вывод ошибки, если таксономия неверна
Пример использования в плагине для получения непустых категорий
$args = array(
'taxonomy' => 'category',
'hide_empty' => true
);
$query = new WP_Term_Query($args);
if (!empty($query->terms)) {
foreach($query->terms as $term) {
// Обработка термина
}
}
Отображает только те категории, которые имеют записи
Безопасность
Валидация входных данных: Функция проверяет корректность переданных параметров
Санитизация: Параметры очищаются валидацией WordPress
Рекомендации: При выводе данных используйте esc_html() для названий терминов
— Связанные функции
Получает термины по таксономии
Получает один термин по ID
— Хуки
Фильтрует аргументы перед выполнением запроса терминов
Фильтрует результаты после выполнения запроса терминов
— Примечания
– Ограничения
Может не возвращать термины, если они скрыты или не соответствуют критериям
– Частые проблемы
- Пустой результат при неправильных параметрах
- Проблемы с иерархией при неверных настройках parent