没有用于的筛选器the_category
. 所有这些the_category
does is toecho
get_the_category_list
. 查看wp includes/category模板中的函数。php第273-275行
273 function the_category( $separator = \'\', $parents=\'\', $post_id = false ) {
274 echo get_the_category_list( $separator, $parents, $post_id );
275 }
我个人会这么说
the_category
不正确,因为不需要显示任何类型的父/子关系
你可以看看wp_list_categories
这给了你很大的灵活性。wp_list_categories
不仅限于类别,还可以用于自定义分类法。
这里应该查看的参数是depth
您可以设置为
0-所有类别和子类别(默认)。
所有类别以平面(无缩进)形式显示(覆盖层次结构)。
仅显示顶级类别
n-n的值(一些数字)指定显示类别中下降的深度(或级别
这是对codex页面中代码的一个稍加修改的版本。我已经设置了depth
参数到1
, 仅显示最顶层的类别级别
<?php
$taxonomy = \'category\';
// get the term IDs assigned to post.
$post_terms = wp_get_object_terms( $post->ID, $taxonomy, array( \'fields\' => \'ids\' ) );
// separator between links
$separator = \', \';
if ( !empty( $post_terms ) && !is_wp_error( $post_terms ) ) {
$term_ids = implode( \',\' , $post_terms );
$terms = wp_list_categories( \'title_li=&style=none&echo=0&depth=1&taxonomy=\' . $taxonomy . \'&include=\' . $term_ids );
$terms = rtrim( trim( str_replace( \'<br />\', $separator, $terms ) ), $separator );
// display post categories
echo $terms;
}
?>