我有自定义字段名为“motor_brand”的帖子。此元数值保存为["honda","suzuki","kawasaki","toyota"]
如果我通过meta_query搜索本田,那么所有拥有honda元值的pos如果我想搜索本田和川崎,那么如果我想搜索川崎,本田和丰田那么就会出现拥有元值本田的本田或川崎元值,川崎或丰田可以是上诉。
我已经像这样设置了元查询
meta_ query = array(
'relation'=>'OR'
array(
meta_key =>'motor_brand'
value => "honda",
compare => "LIKE"
),
array(
meta_key =>'motor_brand'
value => "kawasaki",
compare => "LIKE"
),
)
这很好,但是当我尝试
时meta_ query = array(
'relation'=>'OR'
array(
meta_key =>'motor_brand'
value => "honda",
compare => "LIKE"
),
array(
meta_key =>'motor_brand'
value => "kawasaki",
compare => "LIKE"
),
array(
meta_key =>'motor_brand'
value => "toyota",
compare => "LIKE"
),
)
那不起作用
我想搜索许多汽车品牌
答案 0 :(得分:1)
也许你想试试这个:
$meta_query = array(
array(
'key' => 'motor_brand',
'value' => array('honda','kawasaki','toyota'),
'compare' => 'IN',
)
);
它应生成WHERE motor_brand IN ('honda','kawasaki','toyota')
,如果您直接在数据库上执行,则应显示结果。
修改强>
哦对不起,我看到你写了
我有post的名为“motor_name”的自定义字段。此元值已保存 如[“honda”,“suzuki”,“kawasaki”,“toyota”]
IN
如果你像这样存储它就不起作用。但是motor_name
呢?您的字段名为motor_name
,但您的查询要求motor_brand
。