Eu estava lendo a excelente resposta de Stephen Harris para essa pergunta sobre o uso de WP_query()
, query_posts()
e pre_get_posts
.
Ele diz que "pre_get_posts é um filtro, para alterar qualquer consulta. É mais frequentemente usado para alterar apenas a 'consulta principal'".
É possível usar pre_get_posts
para filtrar apenas uma consulta secundária específica criada com WP_Query
? por exemplo.
$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();
Qualquer ajuda muito apreciada.
wp-query
pre-get-posts
Ben Pearson
fonte
fonte
Com isso dito, a menos que você exclua seu filtro, use o condicional:
is_main_query()
seu filtro será acionado em seu novo WP_Query.Se você deseja apenas segmentar sua nova WP_Query específica, não há como fazer isso.
fonte