部分客户对制作 wordpress 主题时,有时候我们可能有这样的需求,就是要在 wordpress 网站的当前分类下调用这个分类的所有子分类的列表,或者侧边栏调用当前栏目的子分类子目录,而且在点击子目录时,还会侧边栏显示这些子目录的分类,这样的好处是——让分类更加细化,更加方便用户有选择性地去浏览这个分类下的内容。那么,wordpress 主题怎样在当前分类下调用它的子分类列表呢?使用 WordPress 模板很容易可以解决这个问题,WordPress 博主仅需要添加两段相应的获取子分类的函数代码即可:
在 wordpress 主题的 functions.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号
}
在 wordpress 主题需要显示子分类列表的地方添加如下代码:
<?php
if(is_single()||is_category()) { //如果是文件页面或分类页
if(get_category_children(get_category_root_id(the_category_ID(false)))!= "" ) {//如果有子分类
echo '<ul>';
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 '</ul>';
}
}
?>
通过上面的 2 步,我们就可以在我们的 wordpress 主题的当前分类页面上调用出这个分类的所有子分类列表,是不是很方便。要想丰富自己的 wordpress 主题,就赶快来试用一下吧。
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!