WordPress has a Template Hierarchy – specifically for taxonomies and terms. So what template name you want should follow along the lines of:
taxonomy-{$taxonomy}-{$term-slug}.php
In your case:
taxonomy-classifications-cheese.php
This will grab onto the cheese
category and display this specific template. I’m not entirely sure if this will also catch child categories ( I would test the above first before trying the below ) but if it does not you can:
function cheese_template_redirect( $template ) {
if ( is_tax( 'classifications' ) ) {
$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
$cheese = 13; // This should be "Cheese" Category
if ( term_is_ancestor_of( $cheese, $term->term_id, 'classifications' ) ) {
$new_template = locate_template( array( 'taxonomy-classifications-cheese.php' ) );
if ( '' != $new_template ) {
return $new_template ;
}
}
}
return $template;
}
add_filter( 'template_include', 'cheese_template_redirect', 99 );
It looks like your issue is that you’re using the actual taxonomy rewrite slug, which we don’t want to use. I haven’t tested the above code but if it doesn’t work or if you run into issues, let me know.