WordPress不同页面显示不同侧边栏——Widget Logic插件

细心一点的朋友可能会发现,WordPress每个页面的侧边栏显示的内容都是一样的,很多时候不能如我们所愿。例如你想友情链接只在首页显示,把一些不是很必要的图片放在内页等等,这么做的必要性我想就不用明说了吧。Widget Logic插件应运而生,小巧,简单,实用。彻底解决让WordPress不同页面显示不同的侧边栏问题。

其实网上给出了一些代码,但基本都是针对右侧栏的某个sidebar而言的,而且不同主题之间不能通用,这样要改代码的话将非常麻烦,而且非常死板。Widget Logic插件的出现使sidebar的显示方式让你一手掌握。只需简单的设置,即可实WordPress不同页面显示不同侧边栏

widget Logic插件使用非常简单,直接安装激活,可以看到在小工具的最下方会出现插件,如图:

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

展开sidebar可以看到,每个sidebar下方都会增加一个widget logic ,配置信息默认为空的,上图中我们分别给他加上了一个home函数 一个single函数,分别让他们只在首页显示和只在文章页显示。

Widget Logic 的常用参数

is_home() 主页
is_single() 文章页
is_page() 页面
is_category() 文章分类页
is_tag() 标签页
is_archive() 存档页
is_search() 搜索结果页
is_feed() 订阅页
is_404() 404页

Widget Logic 的使用方法

“||”表示“或”,“&&”表示“和”,“!”表示“非”,如下

is_home() 在首页显示
!is_home() 只有首页不显示
is_category(1) 在id为1的分类中显示
is_category(logs) 在名称为logs的分类中显示
is_home() ||is_archive() 在首页或存档页显示

EXAMPLES

is_home() — just the main blog page
!is_page(‘about’) — everywhere EXCEPT this specific WP ‘page’
!is_user_logged_in() — shown when a user is not logged in
is_category(array(5,9,10,11)) — category page of one of the given category IDs
is_single() && in_category(‘baked-goods’) — single post that’s in the category with this slug
current_user_can(‘level_10’) — admin only widget
strpos($_SERVER[‘HTTP_REFERER’], “google.com”)!=false — widget to show when clicked through from a google search
is_category() && in_array($cat, get_term_children( 5, ‘category’)) — category page that’s a descendent of category 5
global $post; return (in_array(77,get_post_ancestors($post))); — WP page that is a child of page 77
global $post; return (is_page(‘home’) || ($post->post_parent==”13″)); — home page OR the page that’s a child of page 13

is_single()&&in_category(array())   //可以表示在某类文章展示,数组可以这样写,如array(1,2,3)或者array(‘news’,”,”)

小结:关于WordPress不同页面显示不同Widget ,网上提供了一些修改代码的方式,不过不同主题修改方式不一样,而且要针对每一个sidebar去修改,感觉过于繁琐。

Widget Logic插件小巧玲珑,简单实用,优化WordPress的同时改善了用户的体验,是一款不错的插件。

Wordpress官方说明:

Widget Logic

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Protected with IP Blacklist CloudIP Blacklist Cloud