上篇文章中提到了利用插件调用WordPress自带的判断函数来实现不同页面显示不同侧边栏的效果。新的问题随之提出来了,WordPress到底有哪些自带的函数可以让我们随意调用呢?Pavel就分两篇文章给大家简要的罗列一下——
基本条件判断函数:
is_home() : 判断是否为主页
is_single() : 判断是否为日志页
is_page() : 判断是否为页面类型(page)
is_category() : 是否为Category/Archive页
is_tag() : 是否为Tag存档页
is_date() : 是否为指定日期存档页
is_year() : 是否为指定年份存档页
is_month() : 是否为指定月份存档页
is_day() : 是否为指定日存档页
is_time() : 是否为指定时间存档页
is_archive() : 是否为存档页
is_search() : 是否为搜索结果页
is_404() : 是否为 “HTTP 404: Not Found” 错误页
is_paged() : 主页/Category/Archive页是否以多页显示
以上函数返回值都是布尔值,用法都差不多。我们以is_single()为例,其严格的调用方式应该为:
<?php is_single($post); ?>
参数$post可以传递文章的ID,或文章的标题(title),或者文章的别名(Slug,即你发布文章时可以选择一个简短的标题,可以是标题拼音,可以是标题翻译,这就是Slug),参数缺省时默认为判断当前页面。WordPress官方给出的使用实例如下:
is_single();
//判断是否是具体文章的页面
is_single('17');
//判断是否是具体文章(id=17)的页面
is_single('Irish Stew');
//判断是否是具体文章(标题判断)的页面
is_single('beef-stew');
//判断是否是具体文章(slug判断)的页面
is_single(array(17,'beef-stew','Irish Stew'));
//如果文章id是17、或者标题是Irish Stew、或者slug是beef-stew时就返回true,在WordPress2.5版本之后才有的该功能。
你可以在wp-includes/query.php中找到is_single()函数的原型。其它的函数用法也大同小异,不再一一介绍,你可以参考WordPress官方的帮助文档:
http://codex.wordpress.org/Function_Reference/
其实使用该帮助文档有个小窍门,你可以在上边链接的最后加上函数名来检索该函数,比如要查看is_tag()函数,则在地址栏输入
博客信息的常用调用方式:
<?php bloginfo('name');?> : 博客名称(Title)
<?php bloginfo('stylesheet_url'); ?> : CSS文件路径
<?php bloginfo('pingback_url'); ?> : PingBack Url
<?php bloginfo('template_url'); ?> : 模板文件路径
<?php bloginfo('version'); ?> : WordPress版本
<?php bloginfo('atom_url'); ?> : Atom Url
<?php bloginfo('rss2_url'); ?> : RSS 2.o Url
<?php bloginfo('url'); ?> : 博客 Url
<?php bloginfo('html_type'); ?> : 博客网页Html类型
<?php bloginfo('charset'); ?> : 博客网页编码
<?php bloginfo('description'); ?> : 博客描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题
bloginfo()这个函数和get_bloginfo()有些相似之处,不过前者可以直接将相关信息输出出来,没有返回值,而后者是有返回值的,比如说同样是输出博客名称,前者是用这种方式:
<?php bloginfo('name'); ?>
而后者是
<?php echo get_bloginfo ( 'name' ); ?>
这样清楚了吧?可以根据自己的喜好进行调用。
wp_title()这个函数在进行博客标题优化的时候常会用到,用来控制页面的标题,如在文章页面,则显示文章标题;在分类页面,则显示分类名称;等等。它可以跟三个参数,调用原型如下:
wp_title('separator',echo,seplocation)
其中 separator是title和其余部分之间的分割符号,默认是>>;echo是个布尔值变量,取true显示标题,取false则将标题作为一个PHP参量返回;seplocation定义分隔符的位置,取right定义分隔符在标题后面,取其他任何值,都表示将分隔符放在标题前面。
这个函数的用法完全看个人的喜好,比如默认的分隔符号“>>”你可以自行修改,博客标题与文章标题的显示顺序你也可以自行修改,尽情发挥想象吧!
还想继续写关于模板函数的一些介绍的,但篇幅有限,太长的文章有耐心读完的童鞋不多。下篇再继续吧!希望会对你有帮助!有关于本文的疑问欢迎给我留言!
[…] 本文来自:epavel […]
[…] http://gislog.com/archives/706 […]
多谢,学习一下
大改就不会,小改就能改点小地方
这些东西基本上都知道了,偶打算找个时间搞套主题出来玩玩,哈哈! 😈
@人好哇! @人好哇!?呵呵 期待你的新主题啊!! 🙄
很有用 不错!
我是看完Widget Logic插件继续追踪到这里的
@PARA @PARA?大哥 ,怎么不见你更新了呢? 🙄
判断函数 我很常用到
@Firm @Firm?我也是搞侧边栏时经常用到