1

下面的代码适用于我的自定义帖子类型(称为Sermon)的帖子,它仅显示子类别名称及其链接。

<?php
  $categories = get_the_category();
  if ( ! empty( $categories ) ) {
  echo '<a href="' . esc_url( get_category_link( $categories[0]->term_id ) ) . '">Child Category : ' . esc_html( $categories[0]->name ) . '</a>';
  }
?>

但是当我将它用于帖子类型本身(新闻类别)的帖子时,它不起作用。它一直显示父类别(新闻),除非我取消选中它,所以它只显示子类别(如娱乐、政治等)。

任何帮助,将不胜感激。谢谢!

4

1 回答 1

0

我已经用我在网上找到的这个自定义函数解决了我的问题,并进行了一些修改以满足我的要求。

function the_category_children($slug=""){
  $separator = ', ';
  $output = '';
  if($categories       = get_the_category()):
    if($slug_category   = get_category_by_slug($slug)):
      foreach($categories as $category):
        if (cat_is_ancestor_of($slug_category, $category)):
          $output .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
        endif;
      endforeach;
      echo trim( $output, $separator );
    endif;
  endif;
}

并在循环(content.php)中调用这个函数the_category_children('category_name')。^_^

于 2016-10-20T06:35:58.503 回答