在制作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. ?>  
声明:本站分享的WordPress主题/插件均遵循 GPLv2 许可协议(免费开源),相关介绍资料仅供学习参考,实际版本可能会因版本迭代或开发者调整而产生变化,如程序中涉及有第三方原创图像、设计模板、远程服务等内容,应获得作者授权后方可使用。本站不提供该程序/软件的产品授权与技术服务,亦不收取相关费用。