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