WordPress中获取父分类的方法,可以用在single,category中,有父分类显示父分类没有显示当前分类。

<?php
$category = get_the_category();
$parent = get_cat_name($category[0]->category_parent);
if (!empty($parent)) {
echo $parent;
} else {
echo $category[0]->cat_name;
}
?>

wordPress的侧栏如何显示顶级父类的子类

如果分类ID是固定的,用就可以实现,但是如果分类ID不是确定的,而是希望自动绑定各分类,这个函数就不能满足了,需要先获取到当前页面的根分类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号
}    

现在就万事具备了,我们就实现一下吧!

wp_list_categories("child_of=".get_category_root_id(the_category_ID(false)). "&depth=0&hide_empty=0&title_li=");

想获取当前文章的父级分类的名称呢

 <?php
  $category = get_the_category();
  $cat_parent = get_cat_name($category[0]->category_parent);
 if (!empty($cat_parent)) {
  echo $cat_parent;
 } else {
  echo $category[0]->cat_name;
 }
?>

简易实现面包屑导航

get_category_parents()函数的功能是返回当然分类的父分类列表,当然也包含了当前分类,这个函数完全是为导航而生。

函数用法

get_category_parents($category, $display_link, $separator, $nice_name)

参数说明

$category (integer) 分类ID,默认为当前分类ID
$display_link (boolean) 是否创建更分类的链接.
$separator (string) 各个分类的分隔符.
$nice name (boolean) 是否返回分类别名 (默认为:FALSE,不返回).

示例

指定不同的目录文章应用不同的模板:

输出当前分类的父级分类,分隔符为 ‘»’

<?php echo get_category_parents($cat, TRUE, ' &raquo; '); ?>

输出:

Internet » Blogging » WordPress »