Почему мой запрос WP не работает, когда термины налогового запроса представляют собой массив?


У меня проблема с WP_Query для сайта, который я создаю, и это ставит меня в тупик.

Это работает, как и ожидалось:

                            $package_args = array(
                                'post_type' => 'vamos-cpt-packages',
                                'tax_query' => array(
                                    'taxonomy' => 'vamos-holiday-types',
                                    'field' => 'slug',
                                    'terms' => 'activity-holidays'
                                )
                            );
                            $packages = new WP_Query($package_args);
                            var_dump($packages);

Но когда термины представляют собой массив:

                            $package_args = array(
                                'post_type' => 'vamos-cpt-packages',
                                'tax_query' => array(
                                    'taxonomy' => 'vamos-holiday-types',
                                    'field' => 'slug',
                                    'terms' => array('activity-holidays')
                                )
                            );
                            $packages = new WP_Query($package_args);
                            var_dump($packages);

Это не так! Мне не возвращают никаких сообщений. Кто-нибудь может это объяснить?

Приветствия Кевин

Author: user33792, 2013-06-06

1 answers

Когда вы делаете tax_query или meta_query в WP_Query, вы всегда должны использовать вложенный

array( array() );

Просто посмотрите следующий пример для объяснения и обратите внимание на аргумент relation.

$packages = new WP_Query( array(
    'post_type' => 'vamos-cpt-packages',
    'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'vamos-holiday-types',
            'field'    => 'slug',
            'terms'    => array( 'activity-holidays' )
        ),
        array(
            'taxonomy' => 'vamos-holiday-types',
            'field'    => 'id',
            'terms'    => array( 103, 115, 206 ),
            'operator' => 'NOT IN'
        )
    )
) );
 9
Author: kaiser, 2017-02-10 13:39:44