wordpress获取当前分类下的子分类

在企业网站中,点击根分类时,显示当前根分类下的子分类,这是个很常见的需求。大多cms也能实现这个功能。如果使用wordpress架构,可以吗?
答案是肯定的,wordpress也可以实现这样的功能。
其实主要用到wp_list_categorys()函数,该函数的child_of参数是一个数字,显示指定ID(也就是所填的这个数字)下的子分类。这样只要找到当前分类根分类的ID就可以显示了。

the_category_ID()用于显示当前页面的分类ID,默认是输出的,作为参数传递时,最好传入一个false参数,即the_category_ID(false)获取当前分类ID。
接着就是要获取当前分类的父ID,这个也是本文的重中之重。
扒了很多资料,也没找到直接可以实现的,不过通过一个函数,倒可以间接获取:

[cce_php]
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号
}

[/cce_php]

现在就万事具备了,我们就实现一下吧!

[cce_php]
wp_list_categories("child_of=".get_category_root_id(the_category_ID(false)). "&depth=0&hide_empty=0&title_li=");

[/cce_php]

声明: 未经本站许可,谢绝转载!

3 个主题帖 其中:热心观众:0 个, 管理员:0 个

  1. kangweb
    0楼
    kangweb:

    是修改的哪几个文件呢

    2012-05-11 02:43
    • 修改你需要显示的地方的代码。一般来说是侧栏sidebar.php

      2012-05-24 14:28
  2. 大盗贼
    0楼
    大盗贼:

    已经实现··多谢楼主的分享···另外··请问楼主··可不可以实现在显示后面加上此子分类的文章数目?如有指教·不甚感激···!

    2012-11-27 07:37

抱歉,评论被关闭