我有一个名为carrier的自定义帖子类型,其中有两个自定义字段,例如age_min和age_max 假设age_min的值是25,age_max的值是90,而每个帖子都不同。
现在在前端,有一个字段可供输入搜索。当用户键入65并进行搜索时,则应在25-90的范围内搜索该数字65(每个帖子各不相同)
这是我的代码:
array
(
'key' => 'age_min',
'value' => $_POST['age'],
'type' => 'NUMERIC',
'compare' => '>='
),
array
(
'key' => 'age_max',
'value' => 90,
'type' => 'NUMERIC',
'compare' => '<='
)
答案 0 :(得分:1)
我认为您的经营者做法错误。它们的读法应为:
关键运营商值
逻辑应为:
(age_min <= age)AND(age_max> = age)
例如:
(25 <= 65)和(90> = 65)
查询如下:
$args = array(
'post_type' => 'carrier',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'age_min',
'value' => $_POST['age'],
'compare' => '<=',
),
array(
'key' => 'age_max',
'value' => $_POST['age'],
'compare' => '>=',
),
),
);
$query = new WP_Query( $args );
我希望这会有所帮助!