首页 学建网站 wordpress怎么显示...

wordpress怎么显示当前分类的子分类

作者:

修改日期:

在制作wordpress主题的时候,如果遇到实现不了的功能,完全可以“绕道而行”,然而有些功能却是绕无可绕,也并非不可实现。比如最近在制作一个企业站的时候就需要实现在侧边栏显示当前分类下的子分类效果,对于目前wordpress提供的标签貌似无法直接实现,所以小川就利用了互联网强大搜索功能,谷歌了一下,发现这个实现起来还真不难。

先说实现原理,wordpress提供的标签中有一个是调用某个分类目录下的子分类的,这个没问题了,难点是怎么样获取当前分类目录的ID,只要能获取当前分类的ID就可以调用出当前分类目录的子分类,所以实现这个效果步骤如下:

1、获取当前分类目录的ID;
方法:在主题文件的functions.php文件(函数文件,如果没有可以自己新建一个)中添加如下代码:

  1. function get_category_root_id($cat)   
  2. {   
  3. $this_category = get_category($cat); // 取得当前分类   
  4. while($this_category->category_parent) // 若当前分类有上级分类时,循环   
  5. {   
  6. $this_category = get_category($this_category->category_parent); // 将当前分类设为上级分类(往上爬)   
  7. }   
  8. return $this_category->term_id; // 返回根分类的id号   
  9. }  

2、在需要调用当前分类目录子分类的位置放以下代码:

  1. <?php   
  2. if(is_single()||is_category())   
  3. {   
  4. if(get_category_children(get_category_root_id(the_category_ID(false)))!= “” )   
  5. {   
  6. echo ‘<ul>’;   
  7. 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”);   
  8. echo ‘</ul>’;   
  9. }   
  10. }   
  11. ?>