现在的位置: 首页 > 互联网络 > WP相关 > 互联网络 > 正文

WordPress添加侧边栏及页面调用的方法

2010-06-08 16:31 WP相关, 互联网络 ⁄ 共 2475字 ⁄ 字号 评论 4 条

功能描述:为模板添加指定的侧边栏和指定头文件,用来实现其他分类主页的侧边栏,页头和样式与首页不同.

此篇文章以NeoEase的elegant-box模板为例.

1.functions.php

搜索register_sidebar,找到下面的代码:

 
1 /** widgets */
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>',
8     ));

更改第二行和第三行:

 
1 /** widgets */
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>',
8     ));

多于一个侧边栏,就要将sidebar改为sidebars,而下面的3则是侧边栏的个数.所做的更改正确时,后台就会显示3个侧边栏了.
2.archive.php
因为我们要利用分类去实现不同的页面,那么就要用到archive.php了.

 
1 <?php get_header(); ?>

根据情况替换为下列代码:

 
1 <?php if (is_category('1000') ):?>
2 <?php include( TEMPLATEPATH . '/templateName1.php' ); ?>
3 <?php elseif (is_category('2000') ):?>
4 <?php include( TEMPLATEPATH . '/templateName2.php' ); ?>
5 <?php else: ?>
6 <?php get_header(); ?>
7 <?php endif; ?>

当用户通过分类进入到指定分类页面时,将先执行上面的程序,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' ); ?>
09 <?php else: ?>
10 <?php get_header(); ?>
11 <?php endif; ?>

继续向下进行…找到:

 
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'); ?>
5 <?php else: ?>
6 <?php get_sidebar(); ?>
7 <?php endif; ?>

如果用户浏览的当前页面分类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″即可!
到这里为止,整个流程就介绍完了,代码在判断的时候应当可以精简,但是我的能力有限,能自己实现就已经不错了!相信对于一些刚刚接触的朋友们应该足够了!

期待反馈,共同学习,共同进步!

目前有 4 条留言    访客:4 条, 博主:0 条

  1. 格物博客 2010年11月27日 1:05 下午  @回复  Δ1楼 回复

    你好,想问一下如何把侧边栏设置为像NeoEase的一开始主题iNove那样的有东西侧边栏?谢谢解答!

  2. 搞笑乐吧网 2011年11月08日 9:24 下午  @回复  Δ2楼 回复

    不错,学习啦!

  3. 小黑 2012年09月23日 10:36 上午  @回复  Δ3楼 回复

    :twisted: 新潮流http://www.tsstt.com

  4. mardan 2013年06月08日 1:37 上午  @回复  Δ4楼 回复

    这样太费劲了, 用一个边栏文件及几个判断语句就可搞定,…

给我留言

留言无头像?