Помогите подправить код Wordpress (совсем малость)

Menro

web, seo, email, hack
Регистрация
27 Янв 2008
Сообщения
689
Реакции
138
Всем доброго времени суток!
Друзья, нужна ваша помощь.
Что-то прям не могу сдвинуться с места...

Собственно есть массив $meta.

PHP:
Array
(
    [0] => Array
        (
            [key] => year
            [value] => 2018
            [compare] => LIKE
        )

    [1] => Array
        (
            [key] => persona
            [value] => test
            [compare] => LIKE
        )
)

Этот массив я закидываю в запрос WP_Query:

PHP:
$args = array(
    'meta_query'   => array(
        'relation' => 'OR',
        $meta
    )
);

И у меня ошибка в формате запроса получается (лишний массив).
Должно быть так:

PHP:
'meta_query'   => array(
        'relation' => 'OR',
        array(
            'key'     => 'year',
            'value'   => '2018',
            'compare' => 'LIKE'
        ),
        array(
            'key'     => 'persona',
            'value'   => 'test',
            'compare' => 'LIKE'
        )
    )

То есть здесь несколько массивов,а не один.
А у меня получается вот так:

PHP:
[meta_query] => Array
                (
                    [relation] => OR
                    [0] => Array
                        (
                            [0] => Array
                                (
                                    [key] => year
                                    [value] => 2018
                                    [compare] => LIKE
                                )

                            [1] => Array
                                (
                                    [key] => persona
                                    [value] => суво
                                    [compare] => LIKE
                                )

Никак не пойму, как мне разбить массив на несколько массивов.
Буду признателен за помощь!!

Вот формирую массив:

PHP:
foreach ($meta_fields as $key=>$meta_field) {
    $meta[] = [
        "key" => $key,
        "value" => esc_sql($meta_field),
        "compare" => 'LIKE'
    ];
}
 
Проблему решил, спасибо за внимание!

PHP:
$meta = ["relation" => 'OR',];
foreach ($meta_fields as $key=>$meta_field) {
    $meta[] =
        [
        "key" => $key,
        "value" => esc_sql($meta_field),
        "compare" => 'LIKE'
       
    ];
}

PHP:
$args = array(
    'meta_query'   => $meta
);
 
Назад
Сверху