可以使用自定义模板和template_include
滤器category-parent.php
和category-sub.php
两者都不是必需的。一个可以是category.php
对于父类别和子类别,可以使用custom-category-child.php
像category-sub.php
为默认层次结构保留。
首先在主题中创建模板文件custom-category-child.php
然后将此代码添加到主题中functions.php
Update: 正如Pieter建议的那样,我们可以使用category_template
而不是template_include
节省几行。此外,当自定义模板文件丢失时,我们应该返回当前模板!
Read inline comments
add_filter(\'category_template\', \'custom_cat_templates\');
/**
* Create custom template for child categroies
* @param type $template
* @return type
*/
function custom_cat_templates($template) {
$category = get_category(get_queried_object_id()); //Get the ID for current queried category
if ( $category->category_parent > 0 ) { //Check if it child category
$sub_category_template = locate_template(\'custom-category-child.php\'); //return our custom template
$template = !empty($sub_category_template) ? $sub_category_template : $template; //return default template if custom templaet missing
}
return $template;
}