Saya melihat banyak orang lebih suka menggunakan kait pre_get_posts daripada query_posts
Yay!
Jadi pre_get_postsmenyaring WP_Queryobjek yang berarti apa pun yang dapat Anda lakukan melalui query_posts()Anda dapat lakukan melalui $query->set()dan $query->get(). Secara khusus kita dapat menggunakan meta_queryatribut (lihat Codex ):
$meta_query = array(
array(
'key'=>'featured',
'value'=>'yes',
'compare'=>'!=',
),
);
$query->set('meta_query',$meta_query);
Tapi .. ini menggantikan 'permintaan meta' yang asli (jika ada). Jadi, kecuali jika Anda ingin sepenuhnya mengganti permintaan meta asli, saya sarankan:
//Get original meta query
$meta_query = $query->get('meta_query');
//Add our meta query to the original meta queries
$meta_query[] = array(
'key'=>'featured',
'value'=>'yes',
'compare'=>'!=',
);
$query->set('meta_query',$meta_query);
Dengan cara ini kami menambahkan kueri meta kami di samping meta kueri yang ada.
Anda mungkin / mungkin tidak ingin mengatur relationproperti $meta_queryke ANDatau OR(untuk mengembalikan posting yang memenuhi semua, atau setidaknya satu, meta queri).
* Catatan: Jenis kueri ini akan mengembalikan tulisan dengan kunci meta 'unggulan', tetapi nilainya tidak yes. Itu tidak akan mencakup posting di mana kunci meta 'unggulan' tidak ada. Anda dapat melakukannya dalam 3.5 .