显示子类别而不是父类别的列表

时间:2012-07-25 作者:Robbie

我有一个博客,它有三个顶级类别。每个顶级类别都有一个子类别列表。我只在网站的某些部分显示某些顶级类别的帖子。

查看帖子时,我想显示如下内容:张贴在卡片、比赛、生活方式下

这三个类别将是顶级类别的子类别。在列出帖子的分类方式时,如何列出这些类别并排除顶级类别?谢谢

2 个回复
SO网友:nvwd

而在循环内部,您可以使用the_category().

的第二个参数the_category() 可以是空字符串,它将显示指向子类别的链接,而不显示与父类别的关系。

SO网友:mrwweb

这里有一个函数,它从帖子中获取类别,然后显示一个无序的术语子链接列表。我假设你每个帖子只有一个类别。如果没有,则必须迭代$cat_id 除了$cat_children:

// get category id
$cat_id = get_the_category();
// get array of all children of the first category assigned to the post
$cat_children = get_term_children( $cat_id[0]->term_id, \'category\' );
// start building our list
$cat_children_list = \'<ul>\';
foreach( $cat_children as $child ) {
    // get the term object of each child term
    $term = get_term( $child, \'category\' );
    // output the list item with link and label
    $cat_children_list .= \'<li><a href="\' . get_term_link( $term ) . \'">\' . $term->name . \'</a><?li>\';
}
// finish up the list
$cat_children_list .= \'</ul>\';
// echo the output
echo $cat_children_list;

结束