目前,我在无法获得正确结果的WP_query上措手不及。

我想做的是基于存储在数组中的值生成结果。

请参见下面的代码;

// Array contents:

// $size_array = Array
// (
//   [0] => 7
//   [1] => 4
//   [2] => 2
//  )

// $color_array :
// Array
// (
//   [0] => red
//   [1] => blue
//   [2] => orange
// )

    $args = array(
    'numberposts'   => -1,
    'post_type'     => 'rondreizen',
    'meta_query'    => array(
        'relation'      => 'AND',
        array(
            'key'       => ‘size’,
            'value'     => $size_array,
            'compare'   => 'LIKE'
        ),
        array(
            'key'       => ‘color’,
            'value'     => $color_array,
            'compare'   => 'LIKE'
        )
    ),
    'orderby'           => 'date',
    'order'             => 'DESC'
);

$shoes = new WP_Query( $args );
$posts = $shoes->posts;

foreach($posts as $post) {

}




我试图得到一个结果,它们都匹配1个或多个值。例如:尺寸为4的鞋,颜色为橙色。

目前,只有在数组中只有1个项目时,我才能得到结果。我还尝试了“ IN”比较方法。但这也没有给我任何结果。

我试图尽可能清楚地描述这个问题。希望任何人都能帮助我。 :-)

如果您还有其他疑问,请告诉我。

最佳答案

$args = array(
    'numberposts'   => -1,
    'post_type'     => 'rondreizen',
    'meta_query'    => array(
        'relation'      => 'AND',
        array(
            'key'       => ‘size’,
            'value'     => $size_array
        ),
        array(
            'key'       => ‘color’,
            'operator'  => IN,
            'value'     => $color_array
        )
    ),
    'orderby'           => 'date',
    'order'             => 'DESC'
);

$shoes = new WP_Query( $args );
$posts = $shoes->posts;

foreach($posts as $post) {

}

10-05 20:08