Products
GG网络技术分享 2025-03-18 16:12 0
有时我们在定制一些比较特别的需求的时候,需要获取分类的ID,以满足特别的需要,下面列举一下获取分类ID的方法。
如果是分类页面,系统默认有个变量$cat,就是分类的ID,但是只能在分类页面使用
在page页面使用
主题中使用自定义字段显示
直接循环使用
get_the_category的返回值为二维数组
cat_ID – 分类 ID ,
cat_name – 分类名 ,
category_nicename – 别名 ,
category_description – 分类描述 ,
category_parent – 父分类 ID ,
category_count – 包含文章数量。
WordPress早已不仅仅是个博客平台,现在已经是个功能强大的CMS系统。所以现在有越来越多的网站主将WordPress用于资讯、行业网站。既然作为CMS系统,那就基本都会用到一个常用的功能,即根据当前分类显示其下的子分类或者说是二级分类。如果你的网站各种分类比较多,那你一定需要这个功能。本文将介绍如何根据当前分类获取子分类方法。
1、首先需要获取母分类ID,只要获取到母分类的ID才能用child_of函数来获取其下面的所有子分类:
/*
获取母分类ID
代码来源: www.wpzxbj.com
*/
function get_category_root_id($cat)
{
$this_category = get_category($cat); // 取得当前分类
while($this_category->category_parent) // 若当前分类有上级分类时,即循环
{
$this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类
}
return $this_category->term_id; // 返回母分类的id号
}
代码说明:请将以上代码插入主题function.php种保存即可。
2、在页面要显示子分类的地方以下代码来获取母分类下所有子分类:
/*
输出当前分类下的所有子分类
代码来源: www.wpzxbj.com
*/
<?php
if(is_single()||is_category())
{
if(get_category_children(get_category_root_id(the_category_ID(false)))!= "" )
{
echo '
echo wp_list_categories(\"child_of=\".get_category_root_id(the_category_ID(false)). \"&depth=0&hide_empty=0&title_li=&orderby=id&order=ASC\");
echo \'
}
}
?>
代码说明:以上代码将只在文章页和分类页根据当前母分类显示其下面的所有子分类。你可以调整child_of后面的各项参数以适应自己网站的需求。
Demand feedback