WordPress Meta Query有两个自定义字段。

时间:2018-06-27 20:54:58

标签: php wordpress search custom-post-type advanced-custom-fields

我有一个名为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'   => '<='
)

1 个答案:

答案 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 );

我希望这会有所帮助!