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