Mam niestandardowy typ posta o nazwie „odcinek”. Załączony do „odcinka” Mam niestandardową taksonomię o nazwie „typ_video”, która zawiera dwa terminy: „bonus-footage” i „odcinek”; „odcinek” zawiera dwa terminy dla dzieci „sezon-1” i „sezon-2” (inne sezony zostaną dodane w przyszłości). Chcę pobrać tylko najnowszy post typu „odcinek”, ale nie mogę zawierać żadnych postów z terminu „bonus-footage”. Poniżej znajduje się kod, którego używam do tego:
<?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;
?>
Zapytanie działa zgodnie z oczekiwaniami, jeśli post w jednym z terminów „sezonowych” jest najnowszy, ale jeśli post w „nagraniu dodatkowym” jest najnowszy, to wczytuje to. Innymi słowy, moje parametry „tax_query” wydają się nie mieć wpływu na zapytanie. Czy nie formatuję poprawnie zapytania podatkowego, czy brakuje mi czegoś innego?
Próbowałem też ustawić „tax_query” jak poniżej:
'tax_query' => array(
'taxonomy' => 'video_type',
'terms' => 'episode',
'field' => 'slug',
'include_children' => true,
'operator' => 'IN'
),
ale wciąż otrzymuję ten sam wynik.
źródło