get_object_terms

16 февраля, 2025
Узнайте, как использовать хук get_object_terms для изменения списка терминов объекта в WordPress
Быстрая навигация по записи

Описание get_object_terms

— Filter

Хук get_object_terms позволяет изменять массив терминов, связанных с определенным объектом, перед его возвратом. Он срабатывает при запросе терминов для объекта, например, поста или товара, и позволяет изменить, добавить или удалить термины из результата

Примеры использования

Пример удаления определенного термина из массива терминов:

				
					add_filter('get_object_terms', function($terms, $object_id, $taxonomy) {
   if ($taxonomy === 'category') {
       foreach ($terms as $key => $term) {
           if ($term->slug === 'uncategorized') {
               unset($terms[$key]);
           }
       }
   }
   return $terms;
});
				
			

В этом примере мы удаляем термин ‘uncategorized’ из списка категорий для объекта

Пример добавления нового термина в массив терминов:

				
					add_filter('get_object_terms', function($terms, $object_id, $taxonomy) {
   if ($taxonomy === 'post_tag') {
       $terms[] = (object) ['term_id' => 123, 'name' => 'Новый тег', 'slug' => 'novyj-teg'];
   }
   return $terms;
});
				
			

Здесь мы добавляем новый тег с ID 123 в массив тегов для объекта

Пример изменения параметров аргументов перед запросом терминов:

				
					add_filter('get_object_terms', function($terms, $object_id, $taxonomy, $args) {
   if ($taxonomy === 'category') {
       $args['orderby'] = 'name';
       $args['order'] = 'ASC';
   }
   return $terms;
});
				
			

Мы изменяем порядок сортировки терминов категории на по имени в порядке возрастания

— Лучшие практики

– Использование

Используйте этот хук, когда необходимо изменить список терминов для объекта перед его выводом

– Производительность

Будьте осторожны с большими массивами терминов, так как это может влиять на производительность

– Предупреждения

Убедитесь, что изменения не нарушают логику работы таксономий на сайте

Альтернативы

Тип: filter

Этот хук используется для изменения результата запроса терминов, а не для терминов объекта

Используйте его, если нужно изменить параметры запроса терминов напрямую

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

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

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Мега меню
Премиальный шаблон для создания сайта компании или интернет магазина с высокой конверсией на базе WordPress и WooCommerce, раскрывающий всю мощь плагина Elementor, как лучшего визуального редактора!

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

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

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

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

или

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

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

* Отправляя данные, вы соглашаетесь с политикой конфиденциальности.

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

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

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