WordPress添加侧边栏及页面调用的方法
技术类文章就长话短说了,表达清楚等待反馈就好!
功能描述:为模板添加指定的侧边栏和指定头文件,用来实现其他分类主页的侧边栏,页头和样式与首页不同.
此篇文章以NeoEase的elegant-box模板为例.
1.functions.php
搜索register_sidebar,找到下面的代码:
/** widgets */
if( function_exists('register_sidebar') )
register_sidebar(array(
'before_widget' => '<li class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
更改第二行和第三行:
/** widgets */
if( function_exists('register_sidebars') )
register_sidebars(3,array(
'before_widget' => '<li class="widget %2$s">',
'after_widget' => '</li>',
'before_title' => '<h3>',
'after_title' => '</h3>',
));
多于一个侧边栏,就要将sidebar改为sidebars,而下面的3则是侧边栏的个数.所做的更改正确时,后台就会显示3个侧边栏了.
2.archive.php
因为我们要利用分类去实现不同的页面,那么就要用到archive.php了.
<?php get_header(); ?>
根据情况替换为下列代码:
<?php if (is_category('1000') ):?>
<?php include( TEMPLATEPATH . '/templateName1.php' ); ?>
<?php elseif (is_category('2000') ):?>
<?php include( TEMPLATEPATH . '/templateName2.php' ); ?>
<?php else: ?>
<?php get_header(); ?>
<?php endif; ?>
当用户通过分类进入到指定分类页面时,将先执行上面的程序,if语句判断分类后向下执行.
我们要给分类id为1000的分类页面指定头文件,就按照上面的写法去做.头文件的名字为”templateName1.php”
以此类推,如果还需要给id为2000的分类指定头文件,就在if语句内写elseif语句.
如果还有其他分类需要指定.循环下面部分即可(但是相应的function.php也要进行更改!):
<?php if (is_category('1000') ):?>
<?php include( TEMPLATEPATH . '/templateName1.php' ); ?>
<?php elseif (is_category('2000') ):?>
<?php include( TEMPLATEPATH . '/templateName2.php' ); ?>
<?php elseif (is_category('3000') ):?>
<?php include( TEMPLATEPATH . '/templateName3.php' ); ?>
<?php elseif (is_category('4000') ):?>
<?php include( TEMPLATEPATH . '/templateName4.php' ); ?>
<?php else: ?>
<?php get_header(); ?>
<?php endif; ?>
继续向下进行…找到:
<?php get_sidebar(); ?>
结合引用头文件的语句替换为:
<?php if (is_category('1000') ):?>
<?php get_sidebar('templateName1'); ?>
<?php elseif (is_category('2000') ):?>
<?php get_sidebar('templateName2'); ?>
<?php else: ?>
<?php get_sidebar(); ?>
<?php endif; ?>
如果用户浏览的当前页面分类id等于1000,那么将引用侧边栏”sidebar-templateName1.php”
这里需要注意啊!这里是一个固定格式,新建的侧边栏都要有”sidebar-”的前缀,不用管为什么,总之方便调用即可!
到这里,最麻烦的部分就设置完成,还是很容易的吧!下面就简单了,继续…
3.头文件
复制header.php然后更改里面你打算更改的部分,比如title啊,描述之类,甚至是CSS样式!这里没有需要用代码进行判断的部分!
4.侧边栏
同理,复制sidebar.php文件,然后找到:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
这里是一个判断,也就是我们WordPress新建时执行的语句.
因为新建的平台,侧边栏并未指定需要显示的模块,所以将执行这个语句下面的部分.
对于新建的sidebar页面,比如”sidebar-templateName1.php”
这是我们3个侧边栏中除去默认侧边栏的第一个,按照排序的话,此侧边栏的数组编号应该为2,那么就将此语句改为:
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : ?>
而第三个侧边栏”sidebar-templateName2.php”
就将上面的语句中”2″更改为”3″即可!
到这里为止,整个流程就介绍完了,代码在判断的时候应当可以精简,但是我的能力有限,能自己实现就已经不错了!相信对于一些刚刚接触的朋友们应该足够了!
期待反馈,共同学习,共同进步!
CCD

