цикл while в массиве wp-запросов - PullRequest
0 голосов
/ 11 июня 2018

Я получил этот массив WordPress и мне нужен цикл while для каждого отношения 'И':

$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'
        )
    )
)
);

Я искал часы и безуспешно пытался построить функцию.Как я могу решить эту проблему?А что будет с «отношением» => «ИЛИ»?

$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;

Помощь будет высоко оценена.

1 Ответ

0 голосов
/ 11 июня 2018

ки.Нашел решение:

$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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...