У мене є власний тип публікації під назвою "епізод". У додаток до "епізоду" у мене є власна систематика під назвою "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'
),
але я все одно отримую той самий результат.