WordPress – その記事が属するカテゴリーの一覧を表示させる関数

WordPressの記事を書いて、例えばカテゴリーを複数選択したとき(ニュース、日常)、記事の詳細ページとかに、選択したカテゴリーの一覧がいい感じに表示される関数を紹介する。




functions.phpに以下のように記述

function show_category( $delimiter = null ) {
  $cats = get_the_category();
  $tmp = $cats;

  if( !$cats ) {
    return false;
  }
  
  foreach( $cats as $cat) {
    // 出力部分
    echo $cat->name;
    if( $delimiter && next($tmp) ) {
      echo $delimiter;
    }
  }
}

 

使うときは、テンプレートに以下のように書く

<?php show_category(','); ?>

出力はこんな感じでされる

ニュース,日常

引数には区切り文字(’,’とか’/’)を指定できる。何も指定しない場合は、区切り文字なしで続けて表示される。

 

カテゴリーをspanとかaタグで囲みたいときは、foreachの中をちょっといじる。

function show_category( $delimiter = null ) {
  $cats = get_the_category();
  $tmp = $cats;

  if( !$cats ) {
    return false;
  }
  
  foreach( $cats as $cat) {
    $cat_id = $cat->term_id;
    $cat_link = get_category_link( $cat_id );
    
    // 出力部分
    echo '<a href="' .$cat_link. '">' .$cat->name. '</a>';
    if( $delimiter && next($tmp) ) {
      echo $delimiter;
    }
  }
}

上記のような関数を作り、引数なしで出力すると、そのカテゴリーページへのリンクがついたaタグで囲まれたカテゴリー一覧が出力される。

 

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です