В файле functions.php добавьте:
add_filter(‘single_template’, ‘my_single_template’);
function my_single_template($single)
{
global $wp_query, $post;
foreach ((array)get_the_category() as $cat) {
if (file_exists(get_template_directory() . ‘/single-‘ . $cat->slug . ‘.php’)) {
return get_template_directory() . ‘/single-‘ . $cat->slug . ‘.php’;
} elseif (file_exists(‘/single-‘ . $cat->term_id . ‘.php’)) {
return get_template_directory() . ‘/single-‘ . $cat->term_id . ‘.php’;
}
}
return $single;
}
получится что для записи в какой-либо категории будет шаблон single-catslug.php
Если его не будет — то будет использоваться просто single.php
И не придется городить портянку из if (in_category(»))