Saat menjalankan kueri dengan metode WP_Query, saya mendapat objek. Saya mengerti bahwa saya kemudian dapat melakukan loop untuk menampilkan barang. Tetapi, tujuan saya bukan untuk menampilkan apa pun, sebagai gantinya, saya ingin mendapatkan beberapa data pos dengan melakukan sesuatu seperti "foreach ...". Bagaimana saya bisa mendapatkan larik data pos yang dapat saya lewati dan dapatkan data?
35
Jawaban:
Anda harus membaca referensi fungsi untuk WP_Query pada kodeks WordPress. Di sana Anda memiliki banyak contoh untuk dilihat. Jika Anda tidak ingin mengulang set hasil menggunakan
while
, Anda bisa mendapatkan semua posting dikembalikan oleh permintaan denganWP_Query
di propertiposts
.Sebagai contoh
sumber
'posts_per_page'=>1
di args.function wp_queryfirstpost($args) { $q=new WP_Query($args); $pp=$q->get_posts(); $firstpost=false;if ($pp) $firstpost=$pp[0]; wp_reset_postdata(); return $firstpost; }
$query->posts
,$query->get_posts()
akan memicu pengerjaan ulang penguraian kueri dan permintaan basis data tambahan yang tidak perluSebenarnya, Anda tidak perlu menolak untuk menggunakan
while()
loop. Objek WP_Post yang sama sudah disimpan dipost
properti:sumber
if
berlebihan.if
tidak berlebihan. Dalam kasus yang tepat ini, tetapi dalam sebagian besar situasi produksi, Anda memiliki kode untuk dieksekusi antara if dan the while.Anda juga dapat menggunakan
get_posts( $args )
alih-alihwp_Query()
, yang akan memberi Anda daftar postingsumber