在不同页面显示不同侧边栏

学术技术 Add comments

很多人都想实现这个功能,包括我自己,于是上网搜索了一下,发现了DiggLifezeus的两篇文章。但因为Yo无法上传插件,因此zeus中的“让 widget 变相支持 PHP 语句”部分无法实现。但这个对我不太必要。所以主要根据DiggLife修改。

现在,我的Blog首页、单篇文章和页面都使用了不同的sidebar,并在后两者设置了音乐自动播放和chong4提供的代码,非常有意思。

具体来说分以下三步:

1.修改function.php,定义一个新的sidebar:
需要添加如下语句
if ( function_exists('register_sidebar') )
register_sidebar(array(
'name' => 'sidebar2', //蓝色部分自行定义
'before_widget' => '<li>',
'after_widget' => '</li>',
'before_title' => '<h2>',
'after_title' => '</h2>',
));

2.新建一个sidebar2.php的文件:
修改蓝色部分为新建的sidebar的名称,其他不变。
<?php if ( function_exists('dynamic_sidebar') && dynamic_sidebar('sidebar2') ) : else : ?>
<?php endif; ?>

3.修改single.php:
<?php get_sidebar(); ?>替换为<?php include_once("sidebar2.php"); ?>
保存,打开侧边栏区块,你会发现现在多了一个sidebar,这个时候你就可以把想要的模块拖进bar里了。

如果你想在page上也显示不同的sidebar,重复以上过程即可。

详细可见DiggLife

update:有些区块,可以直接copy代码,不见得一定要弄出几个模块。比如站内搜索,可以直接把以下代码添加到sidebar2.php中

<li>
<?php include (TEMPLATEPATH . '/searchform.php'); ?>
</li>

注意:文中的所有的单双引号均要换成半角才可以。


Powered by

4 Responses to “在不同页面显示不同侧边栏”

  1. Marc Fizzy Says:

    ThanX

  2. specialk Says:

    好多全角半角的符号错了,上传几次才发现是这个问题...

    我的模板里面没有single.php这个页面怎么办...莫非也要自己写一个么 :roll:

  3. boyeut Says:

    @specialk,有的模板是把single.php跟page.php放在了一起。

  4. 转载:在不同页面显示不同侧边栏 at 陈.XP Says:

    [...] 源地址:http://blog.boyeut.com/2007/09/different-sidebar.html [...]

Leave a Reply

WP Theme & Icons by N.Design Studio & 由 yo2.cn 提供 WordPress 博客服务
Entries RSS Comments RSS 登录