wordpress 条件判断标签及用法大全

可以在模板文件中使用条件标签,以根据页面匹配的条件来更改在特定页面上显示的内容以及该内容的显示方式。

主页 \ WordPress教程 \ 新手指南 \ wordpress 条件判断标签及用法大全
最后更新:
浏览量: 1,823
作者:
分类:新手指南
评论: 0

拆分成多个页面,这些不能算为 paged page

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

is_attachment()

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

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

is_singular()

只要 is_single()、is_page()、is_attachment() 返回 True,此函数返回 True。

is_singular( 'book' )

判断当前文章是否属于自定义文章类型(Custom Post Types)“book”。

is_singular( array( 'newspaper', 'book' ) )

判断当前文章是否属于数组中某个自定义文章类型。

判断订阅页面

is_feed()

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

判断引用通告(Trackback)

is_trackback()

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

判断预览页面

is_preview()

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

判断是否有摘要

has_excerpt()

判断当前文章是否有摘要内容。

has_excerpt( 42 )

判断文章 ID 为 42 的文章是否有摘要内容。

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

<?php  
// 先获取全局变量 $post  
global $post;
if ( emptyempty( $post->post_excerpt ) ) {  
    // 如果文章没有摘要执行这块代码  
} else {  
    // 如果文章带有摘要执行这块代码  
}  
?> 

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

<?php if ( ! has_excerpt() ) {  
      echo '';  
} else {   
      the_excerpt();  
}

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

has_nav_menu()

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

判断是否在主循环中

in_the_loop()

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

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

is_active_sidebar()

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

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

is_multisite()

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

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

is_main_site()

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

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

is_super_admin()

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

判断插件是否激活

is_plugin_active()

判断某个插件是否激活正在使用。

判断子主题

is_child_theme()

判断当前是否是一个正在使用的子主题。

判断当前主题功能

current_theme_supports()

判断当前主题的功能特性是否存在。

使用条件判断标签的实例

下面给出一些例子,让你明白上面的判断标签如何使用。

文章中的条件判断

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

if ( is_single() ) {  
   echo 'This is just one of many fabulous entries in the ' . single_cat_title() . ' category!';  
}

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

if ( is_home() || is_single() ) {  
   the_content();  
}  
else {  
   the_excerpt();  
}

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

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

// 同时判断两个条件  
if ( is_single() || is_page() ) ) {  
// 如果当前是一篇文章或者一个页面,就执行这块代码  
}  
  
if ( is_archive() && ! is_category( 'nachos' ) ) {  
// 如果当前是一个分类的存档页面(除了 nachos 分类),就执行这块代码  
}  
// 同时判断三个条件  
if ( $query->is_main_query() && is_post_type_archive( 'products' ) && ! is_admin() ) {  
    // 如果当前是 main query 并且是 products 自定义文章类型的存档页面  
    // 同时没有用 admin 账号登陆后台,就执行这块代码  
}  
  
if ( is_post_type_archive( 'movies' ) || is_tax( 'genre' ) || is_tax( 'actor' )  ) {  
    // 如果当前是 Movies 的自定义文章类型存档  
    // 或者是 genre 分类存档页面  
    // 或者是 actor 分类存档页面,就执行这块代码  
}

相关文章

大神,别默默的看了,快来点评一下吧!:)

微信
添加站长微信

微信扫一扫,联系我们

关注
关注公众号

关注微信公众号