当您要为以下内容定义单独的侧栏时:
1.岗位
2.和第页
3.类别在岗
将下面的代码放入sidebar.php
<?php
if( \'post\' == get_post_type()){
$categories = get_the_category();
foreach( $categories as $category ){
$sidebar_template[]=\'sidebar-\'.$category->slug.\'.php\';
}
//search for template for category
$cat_template = pathinfo( locate_template( $sidebar_template ) );
if( !empty( $cat_template )){
$cat_template_name=explode( \'-\', $cat_template[\'filename\'] , 2);
get_sidebar( $cat_template_name[1] );
}
else{
get_sidebar( \'post\' );
}
}else{
get_sidebar(\'page\');
}
?>
并创建
1.sidebar-page.php
对于第页
2.sidebar-post.php
对于post
3.sidebar-category_slug.php
对于职位类别
代码的作用:
1、如果get_post_type
等于post然后,我检索当前post的所有类别,并测试其类别的任何侧栏模板。如果是,则类别的侧栏将调用(sidebar-category_slug.php
)否则post侧栏将调用(sidebar-post.php
).
2、如果get_post_type
等于page,则page的侧栏将调用(sidebar-page.php
).
Note: 仅为假设当前条件而驱动的代码。我们可以为不同级别修改它,例如,如果我们想为子类别分离边栏模板。