条件判断标签及用法大全

主页面(Main)

判断当前页面是否是博客主页面。主页面通常是显示博客内容列表的首页,但是如果你在“后台”->“设置”->“阅读”中设置了静态首页和文章索引页面的话,当访问文章索引页面是返回 True。

首页(Front)

判断当前页面是否是博客首页。首页和上面的主页面不同,首页可以是文章索引页面,也可以是你在“后台”->“设置”->“阅读”中设置的静态首页。

后台控制面板(Administration Panels)

文章页面(Single Post)

判断当前页面是否是一篇文章或者是附件页面或者自定义文章类型页面。注意,WordPress 中文章(Single)和页面(Page)是不同的概念。这个条件判断标签可以附加参数。

注意:这个函数对于传递的参数,并无法很明确的判断参数究竟是 id、文章标题或者是文章别名,如果参数为 17,当 id 为 17 的文章会返回 True,当 Slug 为 17 的文章也会返回 True。

发布格式(Post Format)

has_post_format()需要一个字符串$format作为第一个参数;这意味着它只能用于测试显式的后格式类型:

要确定帖子是否具有任何帖子格式,请使用get_post_format()false如果当前帖子未分配任何帖子格式,它将返回

请注意,“标准”不是实际的帖子格式,而是占位符,表示未分配帖子格式的帖子。在内部,WordPress返回false而不是返回post-format-standard,因此要查询“标准”后格式类型,您只需使用if ( false == get_post_format() )
示例

编辑

has_post_format()需要一个字符串$format作为第一个参数;这意味着它只能用于测试显式的后格式类型:

要确定帖子是否具有任何帖子格式,请使用get_post_format()false如果当前帖子未分配任何帖子格式,它将返回

请注意,“标准”不是实际的帖子格式,而是占位符,表示未分配帖子格式的帖子。在内部,WordPress返回false而不是返回post-format-standard,因此要查询“标准”后格式类型,您只需使用if ( false == get_post_format() )

原版的

has_post_format() 返回BOOLEAN值,该值对条件很有用,例如:

要么

get_post_format()返回当前发布格式类型的字符串值,该值在多种方式下很有用。最强大的功能之一是根据发布格式调用不同的模板零件文件,例如:

其中包括,例如,“ entry-aside.php”(用于备用格式)或“ entry.php”(用于标准格式)。

置顶文章(Sticky Post)

WordPress 带有置顶文章的功能,使用这个标签判断是否为置顶文章,需要传递一个参数(通常为文章 id,用法同上)。如果不想传递参数,需要用在主循环(Loop)中,由主循环提供。通常的用法是在主循环输出文章索引列表的时候,使用 is_sticky() 判断当前文章是否为置顶文章,然后在置顶文章的 title 前面输出 “[置顶]” 之类的标志。

文章类型(Post Type)

严格意义上,这并不是一个条件判断标签,它会返回当前文章注册的文章类型,并且可以通过类似 if ( 'book' == get_post_type() ) ... 来实现判断文章类型的功能。

判断是否满足 is_singleis_page 和 is_attachment 的任意一个条件,满足返回 True。可以测试所有的文章类型。

判断某个文章类型是否被注册了,需要传递一个文章类型参数。它并不是测试某文章是否属于某个文章类型。

如果 $post_type 在注册的时候设置了支持层次( hierarchical support )返回 True。例如:is_post_type_hierarchical( 'book' ) 

判断是否在任何的自定义文章类型存档页面(post type archive)。

判断是否在 $post_type 中符合条件的文章类型存档页面,$post_type 可以是一个单一的文章类型或者是一个文章类型数组。提示:如果想要应用文章类型存档功能,需要在注册文章类型的时候,将 has_archive 参数设置为 True。

评论相关(Comments)

判断页面(Page)

WordPress 中内置的有两种内容形式,一种是文章(Post)另一种是页面(Page),这里要判断的是页面,而不是指你网站的某个网页。

判断内容分页

在文章和页面中,有时候内容很多,在文章中插入 <!--nextpage--> 标签可以将内容分隔开分成不同的页面,并通过对应的函数获取分页的列表。下面的例子,可以判断当前是在第几个页面中,这样你就可以在某个页面中输出一些特别的信息(例如在第一个页面中,输出一个提示)。
例子1:

例子2:

判断子页面(sub-Pages)

WordPress 中的页面(page)是有父子级关系的,判断是否为子页面时,没有内置 is_subpage() 这样的函数,但是你可以使用下面的方法来判断。
方法1:

建议将下面的方法2加入你的 functions.php 文件中,下面的 is_subpage() 函数的原理与方法1类似,但是可以返回当前页面父页面的 ID 或者是 false。
方法2:

如果你经常需要判断子页面,强烈建议使用方法2。
如果需要判断父页面是否为某个特定的页面,可以使用方法3的代码。方法3代码会判断的更加详细,从而更加便于自定义和个性化(例如加一些图片)。
方法3:

方法4:是一个函数可以让你更容易的实现判断,只需要传递参数即可,如果正在访问对应页面,将会返回 True。

可以将这个函数添加进 functions.php 中,调用 is_tree( 'id' ) 就可以判断当前页面是否是指定页面或者是这个页面的子页面。相比较方法3 is_tree( '2' ) 的功能和 is_page( 'about' ) || '2' == $post->post_parent 是一样的。
注意,如果页面乘此多于一级,那么父级页面指的是上一层页面,不是这个页面层次关系最顶层的页面。

判断页面模版(Page Template)

判断当前页面是否由某个页面模版生成的

判断分类页面(Category)

判断标签页面(Tag)

判断自定义分类页面(Taxonomy)

自定义分类页面并非是上面的 category 那种分类页面,而是指 WordPress 分类系统页面。在 WordPress 默认内置了两种分类系统:category 和 tag,同时支持开发者自定义分类系统。

判断作者页面(Author)

判断是否为日期存档页面(Date Page)

判断任意存档页面(Any Archive Page)

判断当前页面是否为一个存档页面,包括:分类、标签、作者页面、日期存档页面等。

判断搜索结果页面(Search Result Page)

判断是否为 404 页面(404 Not Found Page)

判断被分页页面(Paged Page)

这里的分页指的是存档页面,如果一个日志或者静态页面的内容通过通过 <!--nextpage--> 拆分成多个页面,这些不能算为 paged page

判断是否为附件页面(Attachment)

判断当前页面是否为一个附件页面。附件页面通常为一个图片或者是一些其他文件,可以在编辑文章上传文件那里进行设置。

判断单页面、文章页面或者附件页面

判断订阅页面

判断是否在订阅输出的页面。这个判断标签是为插件开发者提供的。

判断引用通告(Trackback)

判断当前 WordPress 主题是否开启了 Trackback 功能。这个判断标签是为开发者提供的。

判断预览页面

判断一篇文章是否在预览(文章本身处于草稿状态)。

判断是否有摘要

还可以使用下面代码来实现:

如果你想在文章没有摘要的时候,显示空内容:

判断是否有可用的自定义导航菜单

判断一个被注册过的自定义导航菜单是否被指定了一个菜单。

判断是否在主循环中

判断是否在主循环内部。对开发者来说很有用。

判断边栏是否已经激活可用

判断给出的边栏是否激活(正在使用)。如果边栏(用 name、id、number 标志)正在使用,就会返回 True。

判断是否是网站的一部分(对于多站点网站)

判断当前的站点是否是 WordPress MultiSite 的一部分。

判断是否是主站点(对于多站点网站)

判断当前站点在整个网络中,是否是主站点。

判断网站的 Admin (对于多站点网站)

判断当前用户是否是整个网站中的管理员。

判断插件是否激活

判断子主题

判断当前主题功能

判断当前主题的功能特性是否存在。
使用条件判断标签的实例
下面给出一些例子,让你明白上面的判断标签如何使用。

文章中的条件判断

下面的例子讲述了当用户访问一篇文章的时候如何使用 is_single() 来显示一些特殊的内容。

下面的例子介绍了如何在主循环中使用条件判断语句。功能是在首页(index)中显示文章的摘要,而在文章(single)和主页(home)中显示文章的正文内容。

同时使用多个条件判断标签

使用常见的 PHP 操作符 就可以使用多个条件判断标签。


已是最新文章

总计 0 评论

发表评论

作为 登录 | 登出 »

联系电话

18321263196

交换链接

互相学习

服务咨询

我的微信