所以你的问题是,你基本上混淆了一个解决方案的三次尝试。里面有很多冗余代码,让人读起来很困惑。生成您看到的输出的实际代码行如下所示:
$terms = wp_list_categories( \'title_li=&style=none&echo=0&child_of=\' . $parentid . \'&taxonomy=\' . $taxonomy . \'&include=\' . $term_ids );
问题是你在这里设置了
child_of=\' . $parentid
, 但是
$parentid
未设置为
59
, 设置为:
$parentid = $categories[0]->category_parent;
无法保证这将是您想要的特定类别。返回的类别顺序
get_the_category()
类别添加到帖子的顺序。这不一定是
59
作为其父级。如果第一个类别没有父类别,则此函数将列出所有类别。
如果需要:
列出当前帖子的类别类别应该是类别的子级59
.应显示不超过3个类别应以逗号分隔那么这就是您需要的全部代码:
$categories = wp_get_object_terms( $post->ID, \'category\', [ \'parent\' => 59, \'number\' => 3 ] );
if ( ! empty( $categories ) ) {
$category_links = [];
foreach ( $categories as $category ) {
$category_links[] = \'<a href="\' . esc_url( get_term_link( $category ) ) . \'">\' . $category->name . \'</a>\';
}
echo implode( \', \', $category_links );
}