pre_get_posts

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

Описание pre_get_posts

— Action

Хук pre_get_posts позволяет изменять параметры запросов к базе данных перед их выполнением в WordPress. Он срабатывает на этапе, когда запросы к записям, страницам или кастомным типам записей уже сформированы, но еще не выполнены, что дает возможность изменить их перед получением данных

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

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

				
					add_action('pre_get_posts', function($query) {
   if ($query->is_main_query() && !is_admin()) {
       $query->set('posts_per_page', 5);
   }
});
				
			

В этом примере мы изменяем количество записей, выводимых на главной странице, на 5

Пример фильтрации записей по категории:

				
					add_action('pre_get_posts', function($query) {
   if ($query->is_main_query() && !is_admin() && is_home()) {
       $query->set('category_name', 'news');
   }
});
				
			

Здесь мы фильтруем записи на главной странице, чтобы выводились только записи из категории ‘news’

Пример изменения порядка вывода записей:

				
					add_action('pre_get_posts', function($query) {
   if ($query->is_main_query() && !is_admin()) {
       $query->set('orderby', 'title');
       $query->set('order', 'ASC');
   }
});
				
			

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

Пример изменения типа записей на кастомный тип:

				
					add_action('pre_get_posts', function($query) {
   if ($query->is_main_query() && is_post_type_archive('product')) {
       $query->set('post_type', 'product');
   }
});
				
			

Здесь мы изменяем тип записей для архива кастомного типа ‘product’

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

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

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

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

Хук не должен значительно влиять на производительность, если использовать его разумно

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

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

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

Тип: action

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

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

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

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

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

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

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

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

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

или

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

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

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

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

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