Как добавить свои параметры в запрос не используя 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

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

    Ваш ответ

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