WordPressの記事を書いて、例えばカテゴリーを複数選択したとき(ニュース、日常)、記事の詳細ページとかに、選択したカテゴリーの一覧がいい感じに表示される関数を紹介する。
functions.phpに以下のように記述
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
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; } } } |
使うときは、テンプレートに以下のように書く
1 |
<?php show_category(','); ?> |
出力はこんな感じでされる
1 |
ニュース,日常 |
引数には区切り文字(’,’とか’/’)を指定できる。何も指定しない場合は、区切り文字なしで続けて表示される。
カテゴリーをspanとかaタグで囲みたいときは、foreachの中をちょっといじる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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タグで囲まれたカテゴリー一覧が出力される。