最起初,我试过wordpress自带的Twentyeleven主题,这个主题文章页面是没有侧边的,可以通过简单修改css文件实现添加,但要保留不带侧边的页面模板,改动就比较大了。
注:twentyeleven的页面模板有不带边栏和带边栏两种。
Twentyeleven带不带侧边是由functions.php的twentyeleven_body_classes函数中的判断语句控制body的css类(singular)来实现的。
可以先看看twentyeleven_body_classes函数
if ( is_singular() && ! is_home() && ! is_page_template( ‘showcase.php’ ) && ! is_page_template( ‘sidebar-page.php’ ) )
$classes[] = ‘singular’;
其意如果是singular不是home,也不是showcase和sidebar-page的页面模板,那么body中会追加一个singular的CSS类。这个CSS类是一栏的,即不带边栏的。现将上面的if语句改为下面的
if ( is_page() && ! is_page_template( ‘showcase.php’ ) && ! is_page_template( ‘sidebar-page.php’ ))
$classes[] = ‘singular’;
其意就是只有page页面但除去showcase和带sidebar的page,才会有singular属性,即不带边栏。这样就将其它的都加上了边栏。
最后在single.php最下面一行<?php get_footer(); ?>前面加下<?php get_sidebar(); ?>,如下所示
<?php get_sidebar(); ?>
<?php get_footer(); ?>
至此,不用修改CSS实现了文章页边栏的添加。