龙笑天龙笑天  12个月前 (07-12) 来源:龙笑天下 隐藏边栏 |   5 条评论  110 
文章评分 16 次,平均分 5.0

简单地说,in_category() 是一个布尔函数,作用是检查当前或者指定页面是否归属于某个指定的分类,通常用于给不同的分类目录设置不同的文章模板。

Wordpress检查页面文章是否归属特定分类函数:in_category() wordpress

值得注意的是:in_category()考虑只有一篇文章的类别被直接分配(检查类别在写/编辑文章面板),而不是指定类别的父分类(请看下面的重点:如果一篇文章在后代分类下)。

在循环内部,这个标签可以用来测试当前的文章;或在循环外的单篇文章请求。如果您指定你想要测试的那篇文章,可以在任何地方使用它。

用法

参数

$category
(混合的)(必选的)一个或多个被指定分类ID,分类别名或slug,或一个数组。
默认: 无

$_post
(混合的)(可选的)文章,默认为在主循环内的当前文章或在主查询中的文章。
默认: 无

返回值

概述中已经说了这个函数是布尔函数,所以它返回的值要么是真(True),要么是假(False),某篇文章是否属于特定的分类。

举例

在循环内测试当前文章

in_category函数通常用于主循环中,根据当前文章的类别采取不同的行动,例如:

在循环外测试当前文章

如果你要实现一种功能,根据不同的分类调取不同的模板,不妨试试下面的这个示例吧。

重点:测试如果一篇文章在后代分类下

这里要注意的是,in_category()函数只能指定一级目录,如果该目录有子孙目录则无效。如”fruits”下还有子目录’apples’, ‘bananas’, ‘cantaloupes’, ‘guavas’,则需全部目录列出来:

但是每次你移去或添加任何水果类别,你都不得不编辑代码。

更灵活的方法是使用或适应下面定义的 post_is_in_descendant_category 函数(在使用它之前,你需要复制下面的自定义函数到一个模板,插件,或主题函数文件):一般把此代码放入主题函数文件 functions.php

然后可以跟 in_category()一起使用,调用post_is_in_descendant_category()函数来指定某目录下的所有子孙目录的文章页都使用某个模板:

源代码

in_category() 位于 wp-includes/category-template.php。

 

除特别注明外,本站所有文章均为龙笑天下原创,转载请注明出处来自:http://www.ilxtx.com/wordpress-in-category.html

龙笑天
龙笑天
互助分享,互联网本该如此!
×

感谢您对龙笑天的支持,么么哒~

支付宝打赏 龙笑天
请扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

龙笑天下 - 分享悲伤;共享快乐

发表评论

表情 链接 贴图 私信 格式 签到

最赞评论
  1. boke112导航
    boke112导航 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 Windows 7 广西南宁市 电信

    这个函数还是挺有用的,特别是在指定分类显示不同的模板或其他文字的时候

  1. 我爱动感单车网
    我爱动感单车网 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 Windows XP 广西桂林市 电信

    内行看门道,外行看热闹,我是一点都看不懂 [偷笑]

    地板 2016-07-16 23:22
    0 0 回复
  2. boke112导航
    boke112导航 评论达人 LV.3 来自天朝的朋友 谷歌浏览器 Windows 7 广西南宁市 电信

    这个函数还是挺有用的,特别是在指定分类显示不同的模板或其他文字的时候

    板凳 2016-07-16 17:53
    1 0 回复
  3. BanYuner
    BanYuner 评论达人 LV.2 来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 联通

    这个是一个不错的选择 还是可以参考一下的

    沙发 2016-07-15 19:05
    0 0 回复
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录。
使用QQ或微博快捷登录后,请完善个人资料中的电子邮件地址,便于及时收到回复提醒邮件和用于登录!

切换登录

注册

扫一扫二维码分享