Tengo un tipo de publicación personalizado llamado 'episodio'. Adjunto al 'episodio' tengo una taxonomía personalizada llamada 'video_type' que contiene dos términos: "material de archivo adicional" y "episodio"; "episodio" contiene dos términos secundarios "temporada-1" y "temporada-2" (otras temporadas se agregarán en el futuro). Quiero capturar solo la publicación más reciente del tipo 'episodio', pero no incluir ninguna publicación del término 'bonus-footage'. A continuación se muestra el código que estoy usando para esto:
<?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 consulta funciona como se esperaba si una publicación en uno de los términos de "temporada" es la más reciente, pero si una publicación en "bonus-footage" es la más nueva, entonces está cargando esa. En otras palabras, mis parámetros "tax_query" parecen no tener efecto en la consulta. ¿No estoy formateando el "tax_query" correctamente o me estoy perdiendo algo más?
También he intentado configurar "tax_query" como se muestra a continuación:
'tax_query' => array(
'taxonomy' => 'video_type',
'terms' => 'episode',
'field' => 'slug',
'include_children' => true,
'operator' => 'IN'
),
pero sigo obteniendo el mismo resultado.