Ho un tipo di post personalizzato chiamato "episodio". In allegato a "episodio" ho una tassonomia personalizzata chiamata "video_type" che contiene due termini: "bonus-footage" e "episodio"; "episodio" contiene due termini "stagione 1" e "stagione 2" (altre stagioni verranno aggiunte in futuro). Voglio prendere solo il post più recente del tipo "episodio" ma non includere alcun post dal termine "bonus-footage". Di seguito è riportato il codice che sto usando per questo:
<?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;
?>
La query funziona come previsto se un post in uno dei termini "stagionali" è il più recente, ma se un post in "bonus-footage" è il più recente, lo sta caricando. In altre parole, i miei parametri "tax_query" sembrano non avere alcun effetto sulla query. Non sto formattando correttamente "tax_query" o mi manca qualcos'altro?
Ho anche provato a impostare "tax_query" come di seguito:
'tax_query' => array(
'taxonomy' => 'video_type',
'terms' => 'episode',
'field' => 'slug',
'include_children' => true,
'operator' => 'IN'
),
ma sto ancora ottenendo lo stesso risultato.