Добрый день, есть такая задача. Существует 2 категории, и только для сообщений этих 2 категорий следует использовать один шаблон сообщения. Сейчас я использую этот код, но он не подходит, я должен создать отдельный шаблон для каждой категории. (И вам нужно иметь 1 шаблон).
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;
}
Эта функция с изменениями ниже будет работать.
Я предполагаю, что у вас уже есть TEMPLATEPATH.
Также вам нужно будет перейти к категории «Слайды и трубы» и получить слагов для этих двух категорий.
Если они отличаются от «слайдов» и «трубы», сделайте изменения ниже, чтобы они соответствовали.
Шаблон, который вы создаете, должен иметь это имя: одной категории-slide_or_pipe.php
add_filter('single_template', 'check_for_category_single_template');
function check_for_category_single_template( $t ){
foreach( (array) get_the_category() as $cat ){
if($cat->slug === 'slides' || $cat->slug === 'pipe'){
if ( file_exists(TEMPLATEPATH . "/single-category-slide_or_pipe.php") ){
return TEMPLATEPATH . "/single-category-slide_or_pipe.php";
}
}
}
return $t;
}
Других решений пока нет …