Only show posts with a specific term of an associated taxonomy in a custom post type archive
-
21-04-2021 - |
Frage
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?
Lösung
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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange