add_filter('single_template', 'check_for_category_single_template'); function check_for_category_single_template( $t ) { foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-category-{$cat->slug}.php") ) return TEMPLATEPATH . "/single-category-{$cat->slug}.php"; if($cat->parent) { $cat = get_the_category_by_ID( $cat->parent ); if ( file_exists(TEMPLATEPATH . "/single-category-{$cat->slug}.php") ) return TEMPLATEPATH . "/single-category-{$cat->slug}.php"; } } return $t; }Then name your template single-category-{category-slug}.php with no curly braces, example if your category name is Shaka the slug would be shaka, therefor the file name will be single-category-shaka.php
Custom Single Template per Category
September 16th, 2015 by Marcos Nobre
Add this filter to your functions.php