カテゴリーのスラッグをクラス名に指定する

カテゴリーのクラス名にスラッグを付与してCSSで色分け等をするためのソースです。 【get_the_category】を使用します。 カテゴリーのスラッグをクラス名に指定する図

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 同じカテゴリーが付いている投稿の数
ネットショップ向けWooCommerce対応WordPressテーマ「Japacart(ジャパカート)」

本サイトの内容に誤りや不正確な記述がある場合やサンプルに基づくいかなる結果も一切の責任を負いかねますので、あらかじめご了承ください。

ネットショップ向けWooCommerce対応WordPressテーマ「Japacart(ジャパカート)」
Copyright © WPスイッチ All Rights Reserved.