Saya sedang membaca jawaban Stephen Harris yang sangat baik untuk pertanyaan ini tentang penggunaan WP_query()
, query_posts()
dan pre_get_posts
.
Dia mengatakan "pre_get_posts adalah filter, untuk mengubah permintaan apa pun . Paling sering digunakan untuk mengubah hanya 'permintaan utama'."
Dimungkinkan untuk menggunakan hanyapre_get_posts
memfilter permintaan sekunder khusus yang dibuat dengan ? misalnya.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();
Setiap bantuan sangat dihargai.
wp-query
pre-get-posts
Ben Pearson
sumber
sumber
Dengan itu dikatakan kecuali Anda mengecualikan filter Anda menggunakan persyaratan:
is_main_query()
maka filter Anda akan diaktifkan pada WP_Query baru Anda.Jika Anda hanya ingin menargetkan WP_Query baru spesifik Anda, maka tidak ada cara untuk melakukannya.
sumber