WordPress教程

wordpress主题开发中获取指定分类下子分类

WordPress日记 2017-10-17 WP主题开发 991 次

在wordpress主题开发中,我们经常会用到获取某个指定分类下所有子分类,比如做侧边栏的时候,这个时候我们就可以用下面的方法来实现:

 <?php wp_list_categories("child_of=1&depth=0&hide_empty=0&orderby=ID&order=ASC&title_li=");?>

其中的数字1就是你指定的父级分类的ID,当然,如果你是要将这些用在列表页或文章页,这样的写法就有点笨了,因为在这里是直接指定的具体的某个父级分类ID,那么新闻列表页,产品列表页,案例列表页你只能每个大分类都写一段这样的代码。这个时候我们可以用下面的方法:

先将下面的代码写到funtion.php中

 /* 获取当前页面跟分类ID */
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号 
}

然后再在你需要的地方(比如sidebar.php)使用下面的代码

<?php wp_list_categories("child_of=".get_category_root_id(the_category_ID(false)). "&depth=0&hide_empty=0&orderby=ID&order=ASC&title_li=");?>

今天有点困了,改天再把获取指定页面下的子页面,以及自定义分类法子分类的获取方法整理一下发出来