カテゴリーのスラッグをクラス名に指定する
aタグにclassを付ける
single.phpやindex.php、archive.php等
<?php $categories = get_the_category(); if ( $categories ) { foreach ( $categories as $category ) { echo '<a href="'.esc_url(get_category_link($category->term_id)).'" class="'.$category->slug.'">'.$category->name.'</a> '; } } ?>
HTML出力
<a href="http://example.com/category/cat1/" class="cat1">カテゴリー1</a> <a href="http://example.com/category/cat2/" class="cat2">カテゴリー2</a>
最初の1つのカテゴリーだけを取得してaタグにclassを付ける
アーカイブ(一覧)ページでの表示等、1つだけ表示する方が都合が良い場合の記述です。
配列の一番目[0]を取得します。
single.phpやindex.php、archive.php等
<?php $categories = get_the_category(); if ( $categories ) { echo '<a href="'.esc_url(get_category_link($categories[0]->term_id)).'" class="'.$categories[0]->slug.'">'.$categories[0]->name.'</a> '; } ?>
HTML出力
<a href="http://example.com/category/cat1/" class="cat1">カテゴリー1</a>
liタグにclassを付ける(リンク有りのリスト)
URL(カテゴリーアーカイブページへのリンク)を取得するにはget_category_linkと組み合わせて記述します。
single.phpやindex.php、archive.php等
<?php $categories = get_the_category(); if ( $categories ) { echo '<ul>'; foreach ( $categories as $category ) { echo '<li class="'.$category->slug.'"><a href="'.esc_url(get_category_link($category->term_id)).'">'.$category->name.'</a></li>'; } echo '</ul>'; } ?>
HTMLでの表示結果
<ul> <li class="cat1"><a href="http://example.com/category/cat1/">カテゴリー1</a></li> <li class="cat2"><a href="http://example.com/category/cat2/">カテゴリー2</a></li> </ul>
liタグにclassを付ける(リンク無しのリスト)
single.phpやindex.php、archive.php等
<?php $categories = get_the_category(); if ( $categories ) { echo '<ul>'; foreach ( $categories as $category ) { echo '<li class="'.$category->slug.'">'.$category->name.'</li>'; } echo '</ul>'; } ?>
HTMLでの表示結果
<ul> <li class="cat1">カテゴリー1</li> <li class="cat2">カテゴリー2</li> </ul>
【get_the_category】の主なオブジェクトメンバー
term_id | ID |
---|---|
cat_ID | ID(term_id にも同じ値が入る)※どちらを使用してもOKだと思います。 |
name | カテゴリー名 |
slug | スラッグ |
description | 説明 |
parent | 親カテゴリーの ID |
count | 同じカテゴリーが付いている投稿の数 |
本サイトの内容に誤りや不正確な記述がある場合やサンプルに基づくいかなる結果も一切の責任を負いかねますので、あらかじめご了承ください。