Я читал Стивен Харрис отличный ответ «s на этот вопрос в отношении использования WP_query()
, query_posts()
и pre_get_posts
.
Он говорит: «pre_get_posts - это фильтр для изменения любого запроса. Чаще всего он используется для изменения только« основного запроса »».
Можно использовать pre_get_posts
для фильтрации только определенный дополнительный запрос, созданный с WP_Query
? например.
$my_secondary_loop = new WP_Query(...);
if( $my_secondary_loop->have_posts() ):
while( $my_secondary_loop->have_posts() ): $my_secondary_loop->the_post();
//The secondary loop
endwhile;
endif;
wp_reset_postdata();
Любая помощь высоко ценится.
wp-query
pre-get-posts
Бен Пирсон
источник
источник
С
is_main_query()
учетом вышесказанного, если вы не исключите свой фильтр, используйте условное условие: тогда ваш фильтр сработает в вашем новом WP_Query.Если вы хотите настроить таргетинг только на свой новый WP_Query, то сделать это невозможно.
источник