自从换了新主题后Pavel就启用了WordPress的widget功能,慢慢地却发现侧边栏添加的小工具多了反而不是件好事,因为每个页面都会显示该栏目,弄得类似“读者墙”这种内容少的页面很不美观。以前的解决方法是调用if语句来判断页面类型,进而显示相应的栏目,但启用widget之后就没这么简单了,需要修改很多代码。今天终于找到了这样一款插件——Widget Logic——让你的WordPress在不同页面显示不同的侧边栏内容。
插件的使用非常简单,上传到wp-content/plugins/目录下解压后再激活就能用了。激活后你会发现每个小工具栏目的最下方都多了Widget Logic一项,如图示:
你可以在文本输入框里输入WordPress自带的页面判断函数来决定该栏目应该显示在哪些页面,具体的页面判断函数如下:
is_home() 主页
is_single() 文章页
is_page() 页面
is_category() 文章分类页
is_tag() 文章标签页
is_archive() 归档页
is_404() 404页
is_search() 搜索结果页
is_feed() 订阅页
如果想在哪个页面显示就将该函数输入到文本框中,全站显示就该选项留空,想在多个页面显示可以用“或”连接符“||”来输入,比如想在归档页和搜索页显示则输入“is_archive()||is_search()”,不像在某页显示就在函数前加“!”,如“!is_home”等。更多的函数用法以及它们参数的设置可以参考WordPress开发文档,本文就不做更多介绍了,会上边两种方式就差不多够用了!
插件下载地址: Widget Logic 插件下载


[…] 推而广之,在很多地方都可以用不判断语句做出与众同的效果,最常用的无疑是Widget,对于支持多Widget的主题来讲,加上判断语句让每个页面出现不同的Widget是很轻松的事情。如果你连这个都嫌麻烦的话,或者你应该试试这个插件:Widget Logic。还有一个思路来自Twenty Ten主题包里面的loop.php,它的目的是给列表内的2个指定分类设置特别样式: […]
这个插件我用过一段时间,还是不错的。后来就改用代码了。
哈哈,这款插件的自主性不错,不过有个疑问,一个widget在某个页面隐藏以后,只能是下面的widget补上,好像不能用右边的widget补上(例如有3栏的主题,你懂的 🙂 ),有方法可以解决这个问题吗?
我的是TE 华丽的飘过!呵呵
@joyla @joyla?话说Typecho也是款很优秀的程序
@Pavel @Pavel?国内优秀的PHP博客程序 嗬嗬嗬!
wp很强大,哦用emlog的就飘过,呵呵 🙄 🙄
@学夫子 @学夫子?可以把这个思路转移到emblog上去哦 😆
wp主要是用函数???
@kaka @kaka?有些功能是用wp自带的函数就能解决的
这个不错。
话说也有某些主题自带这功能。
@ZDAvril @ZDAvril?哦 我用过的主题还是比较少
这一篇还有没评论,赶紧补上,哈哈。
不错,谢谢推荐
确实不错!