[WordPress] 個別記事ページでカテゴリーを表示するときの目的別の方法
スポンサーリンク
WordPressで個別記事ページにカテゴリーリストを表示させる方法のメモ。単純なリストで良い場合とこったことをやりたい場合で使う関数が違い、いつもやり方を忘れてしまうのでまとめておく。
get_the_category_list
リスト出力
リスト形式の表示で構わないなら一番手っ取り早いのがget_the_category_list()
を使うこと。一番使っている人の多い方法だと思われる。
<?php echo get_the_category_list();?>
以下のhtmlが出力される。
<ul class="post-categories"> <li><a href="http://..." title="記事タイトルA" rel="category tag">記事タイトルA</a></li> <li><a href="http://..." title="記事タイトルB" rel="category tag">記事タイトルB</a></li> </ul>
リストにIDやClassを指定する
上のやり方ではIDやClassを指定できない。get_the_category_list()
は第1引数で区切り文字を指定可能なので、IDやClassを指定したい場合は以下のようにする。
<?php echo '<ul id="cat_list" class="list-inline"><li class="list_class">', get_the_category_list('</li><li class="list_class">'), '</li></ul>';?>
以下のhtmlが出力される。
<ul id="cat_list" class="list-inline"> <li class="list_class"><a href="http://..." title="記事タイトルA" rel="category tag">記事タイトルA</a></li> <li class="list_class"><a href="http://..." title="記事タイトルB" rel="category tag">記事タイトルB</a></li> </ul>
番号付きリスト出力
get_the_category_list()
は第1引数で区切り文字を指定可能なので、例えば番号付きリストでカテゴリーリストを表示したいなら以下のようにする。
<?php echo '<ol><li>', get_the_category_list('</li><li>'), '</li><ol>';?>
以下のhtmlが出力される。
<ol class="post-categories"> <li><a href="http://..." title="記事タイトルA" rel="category tag">記事タイトルA</a></li> <li><a href="http://..." title="記事タイトルB" rel="category tag">記事タイトルB</a></li> </ol>
get_the_category
以上のようにget_the_category_list()
は便利ではあるが、<a>
タグの部分をカスタマイズすることはできないし、ちょっと凝ったことをするには向いていない。そこで、そういう時はget_the_category()
でカテゴリー情報をオブジェクト形式で取得する。これならカテゴリー表示を好きなようにできる。
例えば, Twitter Bootstrapのラベルを用いたいならこう。
<ul class='list-inline'> <?php foreach (get_the_category() as $cat ):?> <li><a class='label label-success' href='<?php echo home_url(), '/category/', $cat->slug;?>'><?php echo $cat->name;?></a></li> <? endforeach;?> </ul>
以下のhtmlが出力される。
<ul class="list-inline"> <li><a class="label label-success" href="http://...">記事タイトルA</a></li> <li><a class="label label-success" href="http://...">記事タイトルB</a></li> </ul>
スポンサーリンク
WordPressカテゴリーの投稿
- [WordPress] 記事が更新された回数を取得する
- [WordPress] ダッシュボードのウィジェットを表示オプションを使わずに非表示化する
- [WordPress] 関連記事をカテゴリーに基づきアイキャッチ画像つきで表示
- [WordPress] バックアッププラグインの特徴と機能比較
- [WordPress] タグ版wp_list_categories
- [WordPress] have_comments()がFALSEを返しコメントが表示されない現象
- [PHP] 文字長がnバイト以下になるまで末尾の文字を1字づつカット
- [WordPress] wp_insert_post()でhtmlタグが除去されるのを防ぐ
- [WordPress] カテゴリー・タグ・カスタムタクソノミーを外部から登録・編集する
- [WordPress] カスタムフィールドで一つのキーに複数の値を保存