Как добавить свои параметры в запрос не используя WP_Query?

Решено

Здравствуйте, скажите как можно в результат выдачи стандартного цикла вывода постов в вордпресс добавить свои параметры. То есть мне нужно что бы например в опредетенной таксономии выводились посты не стандартно а отсортированные так же как при использовании wp_query но при этом я не хочу вносить изменения прямо в шаблон, так как он у меня 1 для всех категорий и таксономий. Можно ли как то в wp добавлять параметры в запрос при определенных условиях?

Добавить Комментарий
Ответ

В wp можно изменить результат выдачи, добавив параметры.
Сделать это можно следующим образом:

 add_action( 'pre_get_posts', 'slug_cpt_category_archives' );
 function slug_cpt_category_archives( $query ) {
 if ( is_tax( 'popular') )  {
 $query->set( 'posts_per_page', 50 );
 $query->set( 'meta_key', 'top' );
 $query->set( 'orderby', 'meta_value_num' );
 $query->set( 'order', 'ASC' );
 }
 }
 

Мы вышаем событие на action «pre_get_posts«, который позволит нам добавить параметры в запрос.
Что бы менять не все запросы а определенные, мы должны сделать проверку и если нужно установить дополнительные параметры(в примере: is_tax( ‘popular’)).
Параметры точно такие же как у wp_query.

Данный код нужно добавить в файл functions.php

Добавить Комментарий

Ваш ответ

Размещая свой ответ, вы соглашаетесь с правилами сайта.