1

'''' Hallo , I have a custom post type called Grants , Taxonomy Called scholarship_degree and a Term Called all-degrees-scholarships. I have made a single-grants but I need now to make a Single Template just for the Term ' all-degrees-scholarships ' from this Taxonomy ' scholarship_degree '. I have tried this code but the Problem I do not want to register this Single Term Template for all other Terms . Any Help

the Code which I am using :

               function get_grants_degrees_single_template($single_template) {
                 global $post;
                  if ($post->post_type == 'grants') {
                       $terms = get_the_terms($post->ID,  'all-degrees-scholarships');
                           if($terms && !is_wp_error( $terms )) {

                             foreach($terms as $term){
                              $single_template = dirname( __FILE__ ) . '/single-'.$term->slug.'.php';
                                      }
                                  }
                               }
                               return $single_template;
                          }
                          add_filter( "single_template", "get_grants_degrees_single_template" ) ;

3
  • I'm not sure I understand is this for a term archive, or is this for posts that have a particular term?
    – Tom J Nowell
    Apr 1, 2020 at 22:43
  • No not for or as an archive page , just a particular term which i want to make it a sinlge template different from other terms Template Apr 2, 2020 at 11:05
  • Can you fix the indenting on the code in your question?
    – Tom J Nowell
    Apr 2, 2020 at 11:36

1 Answer 1

0

That's easy, instead of trying to change which template gets loaded, load the single-grants.php template, then use get_template_part inside it, and pass different values based on the terms the post has.

Be careful though, single-termname.php is not a good naming scheme, as it could be abused, e.g. you could encounter clashes. It would be better to use a naming scheme such as single-grant-termname.php

Your Answer

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

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