/
投稿に紐づいた全てのカテゴリーを、リンク付きのリスト形式で出力できるWordpressテンプレートタグ。
セパレータ変更も可能。
投稿IDを指定することでループ外でも使用できるので、親を持たないカテゴリーのみでループ外で簡単に表示したい場合に。
癖があるので、ループ内なら the_category()
、ループ外なら get_the_category()
など、他の関数の検討をお勧めします 。
get_the_category_list()の問題点
親も書き出せるようにはなってますが、、
- 出力は親子階層にならず出力順の指定もできない為、親子の順序が逆になる事があります。
- 親カテを持つ場合
'single'
を指定すると、親子のカテゴリ名を繋げて出力されます。
( 親CSS, 子Tips の場合 → 出力名は CSSTips )
使用する場合は、紐づいたカテゴリーが 親を持たない(第一階層のみ) をお勧めします。
この辺りが修正されると、結構便利だと思うのですが。。。
get_the_category_list() 呼び出しコード
PHP
<?php echo get_the_category_list(); ?>
<?php echo get_the_category_list(セパレータ, 親カテゴリー, 投稿ID); ?>
パラメータ
設定箇所 | 初期値 | 指定可能パラメータ | 説明 |
---|---|---|---|
セパレータ | ‘ <ul><li>リスト | 任意のセパレータ | |
親カテゴリー | ‘multiple’ | 'multiple','single' | 'multiple' → 親カテゴリーも出力'single' → 紐づいたカテゴリーのみ (親カテゴリー未出力) |
投稿ID | 現在の投稿 | 取得したい投稿のID | 投稿IDを指定する事でループ外にも設置可 |
get_the_category_list() の使用例
紐づいているのは第一階層カテゴリのみ、を前提としています。
パラメータ無し
PHP
<?php echo get_the_category_list(); ?>
/* 出力結果 ------------------ */
<ul class="post-categories">
<li><a href="紐づいたカテゴリーURL" rel="category tag">紐づいたカテゴリー名</a></li>
<li><a href="紐づいたカテゴリーURL" rel="category tag">紐づいたカテゴリー名</a></li>
</ul>
リストを <span></span> で囲う
PHP
<span><?php echo get_the_category_list('</span><span>'); ?></span>
/* 出力結果 ------------------ */
<span><a href="紐づいたカテゴリーURL" rel="category tag">紐づいたカテゴリー名</a></span>
<span><a href="紐づいたカテゴリーURL" rel="category tag">紐づいたカテゴリー名</a></span>