- 加入我的QQ群
- 关注我的百家号
扫描下面的二维码,“关注”我的百家号。
在我们制作wordpress CMS主题时,有时候,我们可能有这样的需求,就是要在wordpress网站的当前分类下调用这个分类的所有子分类的列表(如下图所示,我们点击高时银博客导航菜单中的wordpress教程或软件教程时,就会显示该分类下的子分类列表),这样的好处是——让分类更加细化,更加方便用户有选择性地去浏览这个分类下的内容。那么,wordpress主题怎样在当前分类下调用它的子分类列表呢?
第一步:在wordpress CMS主题的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 CMS主题需要显示子分类列表的地方添加如下代码:
<?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 CMS主题的当前分类页面上调用出这个分类的所有子分类列表,是不是很方便。要想丰富自己的wordpress主题,就赶快来试用一下吧。呵呵
调用分类列表的代码放在首页不显示,是哪里的问题