Как использовать pre_get_posts для установки сообщений на страницу?

Я пытаюсь использовать pre_get_posts для установки сообщений на странице для одного термина в рамках таксономии. Одна вещь, которая меня отбрасывает, – это установить термин для применения pre_get_posts.

Вот мой код:

function filter_press_tax( $query ){ if( $query->query_vars['tax_query']['taxonomy'] == 'press' && $query->query_vars['tax_query']['terms'][0] == 'press' ): $query->query_vars['posts_per_page'] = 5; return; endif; }//end filter_press_tax 

Я не совсем понимаю, как получить доступ к таксономии и термину в $ query. Да, таксономия и термин имеют одно и то же имя. Это плохая идея? У меня нет настраиваемого запроса в шаблоне taxonomy-press-press.php для «tax_query», это проблема?

Любая помощь приветствуется! благодаря

Ты почти со мной. Попробуйте это, хотя.

 <?php add_action('pre_get_posts', 'filter_press_tax'); function filter_press_tax( $query ){ if( $query->is_tax('press') && $query->has_term('press')): $query->set('posts_per_page', 5); return; endif; } ?> 

Вы можете использовать любой условный тег или любой аргумент, который может быть передан WP_Query для проверки вашего состояния или установки нового значения через pre_get_posts . Также попробуйте $query->get('taxonomy') / $query->get('term') . И проверьте это на $query set и get методы.