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?

1 Answer 1


Try adding to functions.php

function filter_movies( $query ) {

  if( !is_admin() && $query->is_main_query() && $query->get('post_type') == 'movie') {
    $tax_query = array(
            'taxonomy' => 'period',
            'field'    => 'slug',
            'terms'    => 'current',
    $query->set( 'tax_query', $tax_query );
add_action('pre_get_posts', 'filter_movies', 9999);

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.