WordPress 判断当前分类是否含有子分类

知更鸟 2020年5月13日17:32:24来源:日出一点一23971

想实现在分类归档页面显示当前分类下的子分类列表,首先需要判断当前分类是否含有子分类,网上搜到的都是判断是否有父分类的方法,于是找 WordPress 的文档来找相关的函数,最后找到了“get_term_children( int $term_id, string $taxonomy )”函数来实现该功能,下面具体说说实现的方法。

get_term_children( int $term_id, string $taxonomy) 函数是用来将所有子项合并为其ID的单个数组。WordPress 官网给出的描述是:“此递归函数将$term的所有子项合并到相同的 term 的 ID数组中。仅适用于分层的分类法。如果$taxonomy中不存在$ term,则返回一个空数组。”我的理解是,category(分类)是一种 taxonomy,然后调用该函数,参数为该 category(分类)的 term_id 和 taxonomy,如果该分类含有子分类,那么该函数返回一个 term_id 数组,该数组中的元素是该分类的所有子分类的 term_id。而如果该分类没有子分类,则返回一个空的数组。

思路很简单,传递当前分类的 term_id 和 taxonomy 给该函数,判断返回的数组长度即可。如果为0,说明该分类没有子分类,具体的代码如下:

<?php
global $cat; //获取当前分类
$cat_term_id = get_category($cat)->term_id; // 得到该分类的 term_id
$cat_taxonomy = get_category($cat)->taxonomy; // 得到当前分类的 taxonomy
if(sizeof(get_term_children($cat_term_id,$cat_taxonomy)) != 0) // 判断该函数返回的数组的长度
{
	// 有子分类
}
else
{
	// 没有子分类
}
?>

weinxin
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
登录用户显示不同的 WordPress 菜单 WordPress

登录用户显示不同的 WordPress 菜单

如果让登录用户与未登录浏览者,显示不同的菜单,可以通过下面的代码实现: 登录用户显示不同的 WordPress 菜单 将下面代码添加到当前主题函数模板functions.php中: if( is_us...
WordPress esc_url() 函数用法 WordPress 开发

WordPress esc_url() 函数用法

这个WordPress函数是比较常用到的,特别是在插件或者拓展主题功能的时候。 esc_url函数主要用于 URL 过滤: 1.拒绝不是下面协议的 URL(defaulting to http, ht...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:2   其中:访客  2   博主  0
    • 奔跑的墨竹
      奔跑的墨竹 0

      wordpress的主题给人很大气很协调感觉

      • 蓝色创想
        蓝色创想 1

        鸟哥这里总是不虚此行!