налоговый запрос в get posts() не работает?


Я пытаюсь распечатать все сообщения в каждой таксономии для пользовательского типа сообщений под названием product (продукты jigoshop). Поэтому я получаю все таксономии, используя $cats = get_terms('product_cat');, затем просматриваю их все и получаю все записи, которые находятся в пределах таксономии. Проблема в том, что это не работает. Он просто возвращает пустой!

$uposts = get_posts(array(
    'post_type' => 'product',
    'numberposts' => -1,
    'tax_query' => array(
        'taxonomy' => $cat->taxonomy,
        'field' => 'slug',
        'terms' => array($cat->slug),
        'operator' => 'IN'
    )
));

Если я изменю 'terms' => array($cat->slug) на 'terms' => $cat->slug, он вернет все сообщения , как будто он полностью игнорирует запрос tax_.

Любые идеи, что вызывает это провалиться? Я пробовал поиграть с operator, изменив field на идентификатор (а также отправив $cat->ID в качестве термина)... ничего не работает!

$cat имеет следующие значения:

stdClass Object
(
    [term_id] => 114
    [name] => Ny testkategori
    [slug] => ny-testkategori
    [term_group] => 0
    [term_taxonomy_id] => 115
    [taxonomy] => product_cat
    [description] => 
    [parent] => 0
    [count] => 2
    [meta_id] => 3
    [jigoshop_term_id] => 114
    [meta_key] => order
    [meta_value] => 1
)

Таким образом, $cat->слизняк и $cat->таксономия являются допустимыми значениями.

Author: qwerty, 2013-04-11

1 answers

Tax_query принимает массив массивов аргументов налогового запроса (он принимает массив массивов), но вы используете только один массив. Правильный код выглядит следующим образом.

$uposts = get_posts(
    array(
        'post_type' => 'product',
        'numberposts' => -1,
        'tax_query' => array(
            array(
                'taxonomy' => $cat->taxonomy,
                'field' => 'slug',
                'terms' => array($cat->slug),
                'operator' => 'IN',
            )
         )
    )
);

Для получения дополнительной информации посетите эту страницу.

 18
Author: Vinod Dalvi, 2018-06-24 11:41:39