Вопрос

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?

Это было полезно?

Решение

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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top