while循环中的wp查询阵列(while loop in wp query array)

2019-10-29 09:14发布

我得到这个WordPress的阵列,需要一个内部循环,同时为每个“AND”关系:

$query_args = array(
'post_type' => 'post',
'post_status' => 'publish',
'meta_query' => array(
    'relation' => 'OR',
    array(
        'relation' => 'AND',
        array(
            'key'       => 'foo_0_start',
            'compare'   => '>=',
            'value'     => '$start'
        ),
        array(
            'key'       => 'foo_0_end',
            'compare'   => '<=',
            'value'     => '$end'
        )
    ),
    array(
        'relation' => 'AND',
        array(
            'key'       => 'foo_1_start',
            'compare'   => '>=',
            'value'     => '$start'
        ),
        array(
            'key'       => 'foo_1_end',
            'compare'   => '<=',
            'value'     => '$end'
        )
    )
)
);

我正在寻找几个小时,试图建立没有成功的功能。 我怎样才能做到这一点问题? 什么用“‘关系’=>‘OR’,”会怎样?

$query_args = array(
'post_type' => 'post',
'post_status' => 'publish',
'meta_query' => array()
);

$i = 1;
while ($i<=5;) :
$i++
$query_args['meta_query'][] = array (
    'relation' => 'AND',
    array(
        'key'       => 'foo_$i_start',
        'compare'   => '>=',
        'value'     => '$start'
    ),
    array(
        'key'       => 'foo_$i_end',
        'compare'   => '<=',
        'value'     => '$end'
    )
);
endwhile;

帮助将非常感激。

Answer 1:

好。 找到了解决办法:

$query_args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'meta_query' => array('relation' => 'OR')
);

$i = 1;
while ($i<=5) :
    $i++;
    $query_args['meta_query'][] = array (
        'relation' => 'AND',
        array(
            'key'       => 'foo_' . $i . '_start',
            'compare'   => '>=',
            'value'     => '$start'
        ),
        array(
            'key'       => 'foo_' . $i . '_end',
            'compare'   => '<=',
            'value'     => '$end'
        )
    );
endwhile;


文章来源: while loop in wp query array