WordPress主题:仅显示一个类别

时间:2018-10-29 06:08:20

标签: php wordpress wordpress-theming

我的WordPress主题显示主页上帖子所在的所有类别,即使帖子位于多个类别下,我也只想显示一个类别。

这是我主题中的代码:

function metro_magazine_colored_category(){
$output = '';
// Hide category for pages.
if ( 'post' === get_post_type() ) {     
    $categories_list = get_the_category();
    if ( $categories_list ) {
      $output .= '<div class="category-holder">';
            foreach( $categories_list as $category ){
            $color_code = get_theme_mod( 'metro_magazine_category_color_' . $category->term_id );
                if ( $color_code ) {
                   $output .= '<a class="category" href="' . esc_url( get_category_link( $category->term_id ) ) . '" style="background:' . esc_attr( $color_code ) . '" rel="category tag">'. esc_html( $category->cat_name ) .'</a>';
                }else{
                   $output .= '<a class="category" href="' . esc_url( get_category_link( $category->term_id ) ) . '"  rel="category tag">' . esc_html( $category->cat_name ) . '</a>';
                }
            }
        $output .= '</div>';
        echo $output;         
    }
}e

} 
endif;

This is the form that can be seen

1 个答案:

答案 0 :(得分:1)

以下代码可能会对您有所帮助。您不需要foreach循环,因为您只希望仅打印第一类。希望对您有所帮助。

function metro_magazine_colored_category(){
  $output = '';
  // Hide category for pages.
  if ( 'post' === get_post_type() ) {     
      $categories_list = get_the_category();
      if ( $categories_list ) {
        $output .= '<div class="category-holder">';
              $color_code = get_theme_mod( 'metro_magazine_category_color_' . $categories_list[0]->term_id );
                  if ( $color_code ) {
                     $output .= '<a class="category" href="' . esc_url( get_category_link( $category[0]->term_id ) ) . '" style="background:' . esc_attr( $color_code ) . '" rel="category tag">'. esc_html( $categories_list[0]->cat_name ) .'</a>';
                  }else{
                     $output .= '<a class="category" href="' . esc_url( get_category_link( $categories_list[0]->term_id ) ) . '"  rel="category tag">' . esc_html( $categories_list[0]->cat_name ) . '</a>';
                  }
          $output .= '</div>';
          echo $output;         
      }
  }

}