WordPress基础知识:条件判断标签及用法大全

转载   知更鸟  2017-02-22 07:31:14  285 人阅读  20 条评论

投放广告联系   诚邀合作伙伴   赞助我们   公告栏   赞助光荣榜

在 WordPress 主题和插件开发中,条件判断标签(Conditional Tags)是非常重要的,通过条件判断标签,我们可以判断各种情况,从而使用对应的代码等。例如在顶部导航条中有一个“首页”选项,在首页的时候需要设置 成高亮,我们可以在头部导航模板文件(header.php)中使用条件判断标签 is_home() 来判断当前页面是不是首页,然后再输出高亮的 class。

WordPress基础知识:条件判断标签及用法大全 WordPress 第1张

这类的条件判断标签一般会返回一个布尔值,这样我们就可以使用 if 语句判断不同的页面不同的情况而分别使用不同的代码。

所有的条件判断标签都会判断某个条件是否成立,然后返回 True 或者 False 。此外有些条件判断标签还可以使用一些参数进一步的判断,下面是所有的 WordPress 条件判断标签:

主页面(Main)

  1. is_home()

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

首页(Front)

  1. is_front_page()

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

后台控制面板(Administration Panels)

  1. is_admin()

判断当前页面是否是后台的控制面板(Dashboard)。

文章页面(Single Post)

  1. is_single()

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

  1. is_single( '17' )

判断当前文章是否是 id 为 17 的文章。

  1. is_single( 'Irish Stew' )

判断当前文章的标题是否是 “Irish Stew”。

  1. is_single( 'beef-stew' )

判断当前文章的别名(Slug)是否为 “beef-stew”。

  1. is_single( array( 17, 'beef-stew', 'Irish Stew' ) )

传递多个参数需要使用数组。上面条件判断标签判断满足 id 为 17 、别名为 beef-stew、标题为 Irish Stew 任意一个条件文章被访问时返回 True。

  1. is_single( array( 17, 19, 1, 11 ) )

判断多个文章的 id,用法同上。

  1. is_single( array( 'beef-stew', 'pea-soup', 'chili' ) )

判断多个文章的别名,用法同上。

  1. is_single( array( 'Beef Stew', 'Pea Soup', 'Chili' ) )

判断多个文章的标题,用法同上。

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

置顶文章(Sticky Post)

  1. is_sticky()

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

文章类型(Post Type)

  1. get_post_type()

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

  1. is_singular()

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

  1. post_type_exists()

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

  1. is_post_type_hierarchical( $post_type )

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

  1. is_post_type_archive()

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

  1. is_post_type_archive( $post_type )

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

评论相关(Comments)

  1. is_comments_popup()

判断是否在评论弹出框的窗口中。

  1. comments_open()

判断评论功能是否开启,必须用在主循环中。

  1. pings_open()

判断文章 ping 功能是否开启,必须用在主循环中。

文章标签: ,   ,  
原文地址:http://zmingcx.com/wordpress-conditional-tags.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为转载文章,来源于 知更鸟 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress/zblogPHP免费响应式博客主题Blogs

 发表评论


  1. 艺米网
    艺米网 【秀才】 @回复

    大神威武

  2. 码农BTS
    码农BTS 【状元】 @回复

    实用高亮,一目了然

  3. YangOne
    YangOne 【进士】 @回复

    不错,很强大。

  4. 一介小民
    一介小民 【状元】 @回复

    好全啊,我都想转载了

  5. 人生格言
    人生格言 【举人】 @回复

    wp强大啊,就是有些慢

  6. 网上兼职平台
    网上兼职平台 【小白】 @回复

    技术贴,顶!

  7. 明月登楼的博客
    明月登楼的博客 【王爷】 @回复

    那天得试试!嘿嘿!

  8. Mr.Li
    Mr.Li 【举人】 @回复

    崇拜大神

  9. 小萝博客
    小萝博客 【状元】 @回复

    折腾大神

  10. 十三月
    十三月 【书童】 @回复

    过了看看好

  11. 明月登楼的博客
    明月登楼的博客 【王爷】 @回复

    不错,学习了!折腾的时候是个号参考!

  12. 玉满斋
    玉满斋 【尚书】 @回复

    折腾代码的时候比较有用!

  13. 杭州SEO优化
    杭州SEO优化 【举人】 @回复

    挺全的 学习到了 也很实用

  14. 雅兮网
    雅兮网 【尚书】 @回复

    这个太全了,写主题必备

  15. 龙笑天
    龙笑天 【状元】 @回复

    这个整理NB了哈~ [赞]

  16. 金榜台博客
    金榜台博客 【状元】 @回复

    每天都来看看

  17. 免费会员电影
    免费会员电影 【举人】 @回复

    吸收不了

  18. 爱时尚
    爱时尚 【尚书】 @回复

    来学习一下

  19. 靠谱学生兼职网
    靠谱学生兼职网 【尚书】 @回复

    代码最头痛

  20. Koolight
    Koolight 【尚书】 @回复

    不明觉厉!