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% без риска
Нет обязательств по найму
Бесплатная оценка
1900 ₽
6 разных демо
Cоздать сайт для блога на WordPress. Идеально подходит для сайта новостей блогов и журналов, обеспечивая комфортное и приятное взаимодействие , полностью на русском языке

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

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

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

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

или

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

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

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

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

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

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