当前位置:首页教程中心网站教程WordPress判断当前分类是否为某分类的子分类函数:cat_is_ancestor_of

WordPress判断当前分类是否为某分类的子分类函数:cat_is_ancestor_of

函数基础:认识 cat_is_ancestor_of ()

cat_is_ancestor_of()WordPress 内核提供的用于判断分类层级关系的核心函数,其主要功能是检查一个分类是否为另一个分类的父分类或根分类。从逻辑上反推,也就能够判断当前分类是否为目标分类的子分类(包括直接子分类和孙子分类等所有层级的后代分类)。
该函数的语法结构如下:
cat_is_ancestor_of( int/object $cat1, int/object $cat2 )
其中两个参数的含义分别是:
  • $cat1:需要被判断为 "祖先" 的分类,可以传入分类 ID(整数)或分类对象
  • $cat2:需要被判断为 "后代" 的分类,同样支持分类 ID 或分类对象
函数的返回值为布尔类型,当$cat1$cat2的祖先分类时返回true,否则返回false
 

实用示例:分类导航的条件显示

在实际开发中,我们经常需要将该函数与其他分类判断函数配合使用。比如下面的代码示例,实现了当当前分类是 ID 为 4 的分类本身,或者是其子孙分类时,显示特定导航菜单的功能:
<?php if (cat_is_ancestor_of(4, $cat) or is_category(4)) :  ?>
  <div id="music_subnav_menu">
    <?php wp_nav_menu( array('menu' => 'Music' )); ?>
  </div>
<?php endif; ?>
 
这段代码的逻辑是:当cat_is_ancestor_of(4, $cat)返回true(表示当前分类是 ID 为 4 的分类的后代),或者is_category(4)返回true(表示当前分类就是 ID 为 4 的分类)时,就加载 ID 为 "music_subnav_menu" 的导航容器,并调用wp_nav_menu()函数显示名为 "Music" 的菜单。
 
这里的$cat变量通常指代当前查询的分类对象,在分类归档页面中会自动生效。如果需要在其他页面使用该判断,可能需要先通过get_queried_object()等函数获取目标分类对象。
 

扩展阅读

cat_is_ancestor_of()函数位于:wp-includes/category.php

相关函数:

  • is_category()
  • is_tax()
  • is_tag()
温馨提示:

文章标题:WordPress判断当前分类是否为某分类的子分类函数:cat_is_ancestor_of

文章链接:https://www.muooy.cn/2316.html

更新时间:2025年07月06日

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:305582964@qq.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读用户协议免责声明

给TA打赏
共{{data.count}}人
人已打赏
网站教程

WordPress 条件判断标签全解析:灵活控制页面展示逻辑

2025-7-4 16:55:52

网站教程

WordPress 分类页面判断函数:is_category () 的用法与实践

2025-7-6 19:07:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
今日签到
搜索