普段からWordPressを利用している人なら使ったことある人も多いと思いますが、get_the_category()
を使うことでカテゴリー名やスラッグを簡単に取得・表示させることができます。
例えばカテゴリーによって詳細記事のデザインを変更したい場合などに、カテゴリースラッグを用いたクラスを付加させ、そのクラスを用いてスタイルを指定するといったことができます。
カテゴリーID・カテゴリー名・カテゴリースラッグをそれぞれ取得・表示したい場合は下記のようにそれぞれ記述します。
<?php
$category = get_the_category();
$cat_id = $category[0]->cat_ID;
$cat_name = $category[0]->cat_name;
$cat_slug = $category[0]->category_nicename;
// カテゴリーIDを表示
echo $cat_id;
// カテゴリー名を表示
echo $cat_name;
// カテゴリースラッグを表示
echo $cat_slug;
?>
上記ではカテゴリーID・カテゴリー名・カテゴリースラッグの3つを使用しているので複数記述されていますが、もちろんここまでいらないのであれば複数記述する必要はなく、例えばスラッグだけしか使わないのであれば$cat_slug = get_the_category()[0]->category_nicename;
のみの記述でもできます。
上記を踏まえて、例えば詳細記事で「カテゴリー毎に背景や見出しなどの見栄えを変更したい」というカスタマイズを行いたい場合、詳細記事を表示するsingle.php
に下記のように記述します。
<?php
$category = get_the_category();
$cat_slug = $category[0]->category_nicename;
?>
<article class="category-<?php echo $cat_slug; ?>">
・・・
</article>
上記記述後にソースを確認するとarticle
要素に.category-カテゴリースラッグ名
という形でclassが付加されるので、あとはそのクラスを用いて背景や見出しにスタイルを適用していけばカテゴリーによって見栄えを変更させることができます。
今回紹介した例だとpost_class()
など他の方法でも実装可能なものでしたが、get_the_category()
は今回紹介したもの以外にもカテゴリーの記事数を取得できるcategory_count
や説明文を取得できるcategory_description
などもあるので、あまり使ったことがないという人は覚えておくと何かと便利だと思います。