无法显示类别链接和名称

时间:2016-03-01 作者:Mark_123

我买了一个wordpress主题,但我无法显示类别链接和名称。

<div class="item-info">\';
  if($show_aut!=\'0\'){
      $author = get_author_posts_url( get_the_author_meta( \'ID\' ) );
      $html .=\'<span class="item-author"><a href="\'.$author.\'"title="\'.get_the_author().\'">\'.get_the_author().\'</a></span>\';}

  //DISPLAY CATEGORY LINK AND NAME
  if($show_sub_aut!=\'0\'){
      $subaut = get_the_category();
      $html .= \'<span  class="item-sub-aut"><a href="\'.$subaut.\'" title="\'.get_category_link().\'">\'.get_category_link().\'</a></span>\';}
  if($show_date!=\'0\'){  
   $html .= \'<span class="item-date">\'.get_the_time(get_option(\'date_format\')).\'</span>\';}                    
   $html .= \'</div>
   </div>\';

2 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

get_the_catgory() 返回分配给帖子的类别对象数组。您正在尝试将结果用作字符串。如果启用了调试,则会收到与此相关的错误。

您要么需要遍历数组并分别处理每个类别,要么可以直接引用它们,如get_the_category()[0] 将返回第一个类别对象

假设您只想显示第一个类别,然后显示以下行

$html .= \'<span  class="item-sub-aut"><a href="\'.$subaut.\'" title="\'.get_category_link().\'">\'.get_category_link().\'</a></span>\';
将成为

$html .= \'<span  class="item-sub-aut"><a href="\'. esc_url( get_category_link ( $subaut[0] ) ) .\'" title="\'. $subaut[0]->name.\'">\' . $subaut[0]->name . \'</a></span>\';
编辑如果需要显示用逗号分隔的所有类别,可以执行以下操作

$subaut = get_the_category();
foreach ( $subaut as $cat ) 
    $array[] = \'<span  class="item-sub-aut"><a href="\'. esc_url( get_category_link ( $cat ) ) .\'" title="\'. $cat->name.\'">\' . $cat->name . \'</a></span>\';

$html .= implode( \', \', $array );

SO网友:user3114253

获取类别返回数组,使用

 <?php 
foreach((get_the_category()) as $cat) { 
// print_r(cat);
} ?> 
获取有关链接和类别名称的更多详细信息