通过当前分类ID获取父分类ID

在wordpress制作主题的时候,可能有的人会有多种不同的想法。比如说小峰就遇到一个问题:
如何利用分类页面中当前的分类id获取到父分类的id呢?

实际上我产生这个疑问是由于要实现一个侧边栏的分类列表的效果:在父分类和子分类都存在的情况下,只有在当前子分类以及父分类的页面下,当前父分类才会显示其子类,而其它只会显示父分类,而不会显示其子类。
或许你没听明白,但是你只需要知道当前分类id获取父分类id即可,因为不同的实际应用会有不同的用法。

一,获取当前分类id。

其实wordpress已经有了可以直接用的全局变量$cat。你也可以使用来获取当前分类id。

  1.  $category = get_the_category();//默认获取当前所属分类 
  2.  echo $category[0]->cat_ID; //输出分类 id

二,通过子分类id获取父分类id

可以自定义一个函数放在function.php文件中,需要的时候方便调用。使用的时候就直接使用:

  1. //通过子分类id获取父分类id(可以自定义一个函数
  2. function get_category_root_id($cat){
  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. }
  1. <?php echo get_category_root_id(栏目ID);?>
喜欢 1