在WordPress中显示当前帖子的所有类别名称

时间:2019-03-07 04:47:40

标签: php wordpress

以此Q&A为指导,我为我的帖子(自定义帖子类型)分配了多个类别。尝试使用此代码显示所有分配的类别,该代码完全放在单独的文件project-clipping.php中。

$categories = get_the_category();
$cat_name   = $categories[0]->name;

foreach ( $categories as $i => $category ) {
  echo esc_html( $categories[0]->name );
  if ( $i < $count - 1 )
      echo $separator;
}

对于第一个类别,它工作正常,但随后会弹出notice: Undefined variable: count in...。发生这种情况的次数是三次,两次等等,具体取决于分配给各个帖子的类别数量。

我试图通过将其放置在循环本身而不是外部文件中来解决此问题。不起作用。

我也查看了this,但它返回了帖子类型的所有类别,而不是帖子。

谢谢。

1 个答案:

答案 0 :(得分:0)

您似乎没有定义计数和分隔符变量,尝试这样,根据需要更改分隔符变量。

$categories = get_the_category( get_the_ID() ) // if you are using custom taxonomy replace with get_the_terms( get_the_ID(), 'your-taxonomy'); 
$separator = '|'; // define separator variable 
$count = count($categories); // define count
if ( ! empty( $categories ) ) { // check if not empty
    foreach ( $categories as $i=>$category ) {
      echo esc_html( $category->name );
      if ( $i < $count - 1 )
      echo $separator;
   }
}