如何设置子类别的具体模板?

时间:2015-02-27 作者:C-M

有一些帖子是关于让子类别使用与父类别相同的模板的,但我想做一些稍微不同的事情。

我有一个类别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\');
最后,我还想添加一些其他类别。

有什么想法吗?

谢谢

1 个回复
最合适的回答,由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\' );

结束

相关推荐

Show all sub categories?

是否可以显示所有父猫的所有子/子类别?我有以下层次结构:父类别/税--子1--子2父类别/税2--子1--子2我想能够在一个模板上显示所有子类别,而不显示父类别。这可能吗?