对子项和父项使用不同布局的一种简单方法是检查当前查询的对象是否具有父项,然后根据if语句包含正确的模板部分。比如像这样,
// in your taxonomy/term template file
$current_term = get_queried_object();
// parent property is either 0 or the parent ID
if ( $current_term->parent ) {
get_template_part( \'term-child-template\' );
} else {
get_template_part( \'term-parent-template\' );
}
我尚未测试以下示例,但您可能可以使用
template_include
如果当前对象是子项或父项,还可以通过筛选切换模板。
function child_or_parent_taxonomy_template( $template ) {
$current_object = get_queried_object();
if ( is_a( $current_object, \'WP_Term\' ) ) {
$term_template = $current_tax->parent ? \'child\' : \'parent\';
$term_template = locate_template( array( "term-{$term_template}-template.php" ) ); // update as per your setup
if ( \'\' !== $term_template ) {
return $term_template;
}
}
return $template;
}
add_filter( \'template_include\', \'child_or_parent_taxonomy_template\', 99 );