параметр "налоговый запрос" не работает с запросом WP


У меня есть пользовательский тип записи под названием "эпизод". В приложении к "эпизоду" у меня есть пользовательская таксономия под названием "video_type", которая содержит два термина: "бонус-кадры" и "эпизод"; "эпизод" содержит два дочерних термина "сезон-1" и "сезон-2" (другие сезоны будут добавлены в будущем). Я хочу захватить только самую последнюю публикацию типа "эпизод", но не включать в нее никаких сообщений из термина "бонусные кадры". Ниже приведен код, который я использую для этого:

<?php
$some_args = array(
    'tax_query' => array(
        'taxonomy' => 'video_type',
        'terms' => 'bonus-footage',
        'field' => 'slug',
        'include_children' => true,
        'operator' => 'NOT IN'
     ),
    'posts_per_page' => 1,
    'post_type' => 'episode',
);

$s = new WP_Query( $some_args );

if ( $s->have_posts() ) : $s->the_post();
    // Do something with this post.
endif;
?>

Запрос работает следующим образом ожидается, если сообщение в одном из терминов "сезон" является самым новым, но если сообщение в разделе "бонусные кадры" является самым новым, то оно загружается. Другими словами, мои параметры "tax_query", по-видимому, не влияют на запрос. Я неправильно форматирую "tax_query" или мне чего-то не хватает?

Я также попытался установить "tax_query", как показано ниже:

'tax_query' => array(
        'taxonomy' => 'video_type',
        'terms' => 'episode',
        'field' => 'slug',
    'include_children' => true,
        'operator' => 'IN'
),

Но я все еще получаю тот же результат.

Author: Josh Farneman, 2012-04-16

1 answers

В tax_query параметр представляет собой массив массивов, не просто массив.

Это:

'tax_query' => array(
        'taxonomy' => 'video_type',
        'terms' => 'episode',
        'field' => 'slug',
        'include_children' => true,
        'operator' => 'IN'
),

Вместо этого должно быть так:

'tax_query' => array(
    array(
        'taxonomy' => 'video_type',
        'terms' => 'episode',
        'field' => 'slug',
        'include_children' => true,
        'operator' => 'IN'
    )
),
 57
Author: Chip Bennett, 2012-04-16 15:58:10