Тема Wordpress: Показать только одну категорию - PullRequest
0 голосов
/ 29 октября 2018

Моя тема 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;

Это форма, которую можно увидеть

1 Ответ

0 голосов
/ 29 октября 2018

следующий код может вам помочь. Вам не нужен цикл 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;         
      }
  }

} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...