JOURNAL クリエイティブとマーケティングの話

【WordPress】カテゴリーやタグのスラッグをクラス名として追加する方法

カテゴリーやタグのスラッグを取得し、クラス名として要素に追加する方法です。一覧表示した記事をカテゴリーごとに色分けしたりするときに便利です。

カテゴリーのスラッグをクラス名として追加する方法

<div class="post_cat">
  <?php $cat = get_the_category(); $cat = $cat[0]; { echo '<span class="' . $cat->category_nicename . '" />';  } ?>
  <?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?>
  </span></div>

上記コードはページ上では以下のようになります。

<div class="post_cat"><span class="カテゴリースラッグ" />カテゴリー名</span></div>

カテゴリー名にカテゴリーページへのリンクを設置したい場合は、

<?php $cat = get_the_category(); $cat = $cat[0]; { echo $cat->cat_name; } ?>

の部分を

<?php the_category(','); ?>

に変更してください。

タグのスラッグをクラス名として追加する方法

タグのスラッグを出力するには、下記のように記述します。

<?php
	$flag = get_the_tags();
	foreach ( (array)$flag as $tag ) {
	   echo $tag -> slug;
	}
?>

タグスラッグをクラス名として追加する場合は、下記のようになります。

<div class="<?php
	$flag = get_the_tags();
	foreach ( $flag as $tag ) {
	   echo $tag -> slug.' flags';
	}
?>"></div>

【2018/02/25追記】

タグを出力するソースのforeach文を修正しました。