wp_get_object_terms()

19 февраля, 2025
Получение терминов (категорий, меток и т.п.) для объекта в WordPress с помощью функции wp_get_object_terms(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции 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 объектов или таксономий приведут к ошибкам
  • Проблемы с кэшированием при изменении таксономий

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
4900 ₽
Для портфолио
Шаблон сайта портфолио на русском языке для веб студии. С современным дизайном, он упрощает создание блога и портфолио вашей команды.

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊