Как написать функцию для отдельного шаблона сообщения, который будет применяться по категориям? WordPress

Добрый день, есть такая задача. Существует 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;
}

0

Решение

Эта функция с изменениями ниже будет работать.

Я предполагаю, что у вас уже есть 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;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector