pre_get_terms

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

Описание pre_get_terms

— Filter

Хук pre_get_terms позволяет изменять параметры запроса терминов (категорий, меток и т.д.) перед его выполнением. Он срабатывает перед выполнением WP_Term_Query, что позволяет изменять выборку терминов, например, по какому-либо критерию или добавлять дополнительные условия

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

Пример изменения порядка терминов по имени:

				
					add_filter('pre_get_terms', function($query, $taxonomies) {
   if (in_array('category', $taxonomies)) {
       $query->orderby = 'name';
       $query->order = 'ASC';
   }
   return $query;
}, 10, 2);
				
			

В этом примере мы изменяем порядок терминов категории, сортируя их по имени в алфавитном порядке.

Пример фильтрации терминов по метке:

				
					add_filter('pre_get_terms', function($query, $taxonomies) {
   if (in_array('post_tag', $taxonomies)) {
       $query->meta_query = array(array('key' => 'featured', 'value' => '1'));
   }
   return $query;
}, 10, 2);
				
			

Здесь мы добавляем мета-запрос для фильтрации тегов, чтобы получить только те, которые имеют мета-ключ ‘featured’ со значением ‘1’.

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

				
					add_filter('pre_get_terms', function($query, $taxonomies) {
   if (in_array('category', $taxonomies)) {
       $query->number = 10; // Ограничиваем до 10 терминов
   }
   return $query;
}, 10, 2);
				
			

В этом примере мы ограничиваем количество возвращаемых терминов категории до 10.

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

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

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

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

Изменения, внесенные с помощью этого хуки, могут повлиять на производительность, если запросы становятся слишком сложными

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

Убедитесь, что изменения не конфликтуют с другими запросами или плагинами, изменяющими запросы терминов

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

Тип: function

Эта функция позволяет получить термины, но уже после выполнения запроса

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

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

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

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

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

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

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

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

или

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

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

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

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

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

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