Pertama-tama, saya tahu ini duplikat, tetapi tidak ada jawaban yang lebih lama yang membantu.
Saya mencari di posting melalui post_meta
. Ini kode saya, yang saat ini tidak mengembalikan apa pun.
$args = array(
'numberposts' => -1,
'post_type' => 'post',
'meta_query' => array(
array(
'key' => 'system_power_supply',
'value' => array('single', 'redundant'),
'compare' => 'IN',
)
)
);
$query = new WP_Query($args);
echo $query->found_posts;
Jika saya menghapusnya meta_query
berfungsi. Saya yakin akan hal-hal ini:
- Tidak ada kesalahan ejaan dalam
key
atauvalue
. - jenis posting
post
- Ada adalah sebuah posting dengan nilai 'single' di 'system_power_supply'. Namun, bidang pos dihasilkan oleh Bidang Kustom Tingkat Lanjut .
wp-query
meta-query
Rizwan
sumber
sumber
system_power_supply
serial?a:1:{i:0;s:6:"single";}
Jawaban:
Tidak ada cara mudah untuk mencari nilai bersambung dalam meta query. Jika daftar nilai tidak terlalu panjang, berpotensi Anda dapat mengatur beberapa meta queri:
Atau jika Anda ingin menjadi super mewah, Anda dapat mengaturnya secara dinamis:
sumber
Saya tahu ini sudah lama, tapi kalau-kalau seseorang memiliki masalah yang sama. Yah saya sudah mencabut rambut saya selama berjam-jam sebelum saya menemukan masalah: 'meta_query' dengan operator perbandingan 'IN' tampaknya tidak menerima array yang biasa. sebagai gantinya, Anda harus bergabung terlebih dahulu dengan ','.
Jadi, dalam kasus Anda, sesuatu seperti ini seharusnya berfungsi:
sumber
IN()
bagian tersebut. Misalnya,'this that', 'and', 'that'
menjadi'this','that','and','that'
- jadi sepertinya lebih baik memberikan array saja.