Pregunta

I have a custom post type "movie" with a taxonomy "period". The "period" taxonomy has two terms: "current" and "past".

Is it possible to only show posts with the "current" term in the "movies" archive page (archive-movie.php)? If so, how? I've used the template_include filter before to show templates conditionally, but I'm not sure if this hook is useful in this case.

Any ideas?

¿Fue útil?

Solución

Try adding to functions.php

function filter_movies( $query ) {

  if( !is_admin() && $query->is_main_query() && $query->get('post_type') == 'movie') {
    
    $tax_query = array(
        array(
            'taxonomy' => 'period',
            'field'    => 'slug',
            'terms'    => 'current',
        ),
    );
    $query->set( 'tax_query', $tax_query );
  }
  
}
add_action('pre_get_posts', 'filter_movies', 9999);
Licenciado bajo: CC-BY-SA con atribución
scroll top