有一些帖子是关于让子类别使用与父类别相同的模板的,但我想做一些稍微不同的事情。
我有一个类别67,我希望67的所有子类别都使用一个特定的模板。不是默认模板,也不是自定义类别67。php模板。
我该怎么做?
我在函数中有以下代码。php,但它似乎也改变了category-67的模板
// use specific template depending on category
function myTemplateSelect() {
if (is_category() && !is_feed()) {
if (is_category(get_cat_id(\'67\')) || cat_is_ancestor_of(get_cat_id(\'67\'), get_query_var(\'cat\'))) {
load_template(TEMPLATEPATH . \'/category-slider.php\');
exit;
}
}
}
add_action(\'template_redirect\', \'myTemplateSelect\');
最后,我还想添加一些其他类别。
有什么想法吗?
谢谢
最合适的回答,由SO网友:TheDeadMedic 整理而成
我建议使用category_template
筛选器-只需检查当前类别是否是的祖先67
:
function wpse_179617_category_template( $template ) {
if ( cat_is_ancestor_of( 67, get_queried_object_id() /* The current category ID */ ) )
$template = locate_template( \'category-slider.php\' );
return $template;
}
add_filter( \'category_template\', \'wpse_179617_category_template\' );