widgets优化,让不同页面显示不同的侧边栏
wordpress自带的widgets,调整sidebar的时候非常不方便,不过优化一下就可以了。
如果想实现WordPress不同页面调用不同侧边栏的效果,请继续阅读:
*文中出现的sidebar_single参数可以自定义为其他的值
1.修改functions.php
- <?php
- if ( function_exists('register_sidebar') ) {
- register_sidebar(array(
- 'before_widget' => '<li id="%1$s" class="widget %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h2 class="widgettitle">',
- 'after_title' => '</h2>',
- 'name' => 'Main sidebar'
- ));
- }
- //新加代码start:
- if ( function_exists('register_sidebar') ){
- register_sidebar(array(
- 'before_widget' => '<li id="%1$s" class="widget %2$s">',
- 'after_widget' => '</li>',
- 'before_title' => '<h2 class="widgettitle">',
- 'after_title' => '</h2>',
- 'name' => 'Main sidebar_single', //sidebar_single值可以自定义
- ));
- }
- //新加代码end
- ?>
2.将sidebar.php另存为sidebar_single.php,并做如下修改:
在sidebar_single.php文件中找到dynamic_sidebar('Main sidebar'),
将其修改为dynamic_sidebar('Main sidebar_single')
将其修改为dynamic_sidebar('Main sidebar_single')
3.修改single.php文件
在single.php中找到<?php get_sidebar(); ?>,
将其修改为<?php include_once("sidebar_single.php"); ?>
将其修改为<?php include_once("sidebar_single.php"); ?>
4.进后台设置single页面的widgets
后台==>外观==>Widgets,
在“当前 Widgets”选中Main sidebar_single,
点“显示”按钮,然后加入你的设置。
呼哧大功告成~教程有看不明白的,联系我吧

12/13/2008 at 19:48
以前看过几个教程,貌似你这个最简单~新加一段,改个名字就可以了?
什么时候试试~
回复
12/14/2008 at 18:42
学习ing。。
回复
12/15/2008 at 14:51
学习了,谢谢分享
回复
12/15/2008 at 17:15
学习学习
回复
12/15/2008 at 17:35
其实直接在sidebar用if判断不更简单
回复
十二月 26th, 2008 at 23:35
我在里面加条件判断,通不过。全部都不显示了。
12/16/2008 at 0:38
暂时用不到这样的效果
回复
12/26/2008 at 23:30
你好。
sidebar.php文件中没有dynamic_sidebar(‘Main sidebar’)这个啊
开头三句:
请问这怎么弄?
回复
十二月 27th, 2008 at 9:18
不同的主题有可能会用不同的语句,查一下类似的语句,缩减搜索范围重新搜索试试。
12/26/2008 at 23:32
!function_exists(‘dynamic_sidebar’)
回复
12/26/2008 at 23:33
只有:
回复
12/30/2008 at 15:39
这个确实比我看到的简单好多
我的按照别的方法搞了好多代码
最后现在还没完成Widget的重复使用。。。
想问一下 如何让我的主题实现:
进入单篇日志后侧栏就不要了 只有中间的内容让内容content变成宽栏显示
像 default主题那样
回复
十二月 30th, 2008 at 16:39
屏蔽掉sidebar,然后调整样式,使中间内容的宽度为自适应(百分比)就可以了。
12/31/2008 at 15:32
哧哧……..大功告成!
再研究了一下,可以了,谢谢分享!
回复
05/20/2009 at 15:38
我想请教一下,我用的是default模板,照你的方法改成功了,可是在首页添加过的widget,在其他页调用别一个sidebar时就不能用了。明白我的意思吗?像最新文章最新评论这些,都是不能重复添加的。
回复