wordpress カテゴリ

【wordpress】記事のカテゴリーの取得と表示方法

2019.10.15 / 2020.11.19

WordPressで投稿記事を表示させる時にカテゴリーごとに異なるクラスをつけて、それぞれにCSSを適用したい、なんてことよくありますよね。
今回はWordPressで記事が属するカテゴリーのスラッグを取得して、そのままクラス名としてHTMLに出力する方法についてまとめました。

記事のカテゴリー情報を取得する

WordPressではget_the_category()というテンプレートタグを使えばカテゴリー情報を得ることができます。
記事を表示するループのなかに次のように書きます。

//カテゴリーの取得
$cat = get_the_category();
//カテゴリー名を取得
$cat_name = $cat[0]->cat_name;
//カテゴリースラッグを取得
$cat_slug = $cat[0]->category_nicename;
foreach( $cat as $category ){
echo '<a href="' . get_category_link( $category->term_id ) . '" class="cate">' . $category->name . '</a>';}

これでカテゴリー名やカテゴリースラッグなど、欲しいカテゴリー情報をそれぞれ変数に入れることができました。

カテゴリー毎にclass名をつける

変数に入れた情報(今回はカテゴリースラッグ)をHTMLに表示させましょう。先のコードを踏まえて、次のように書きます。

<p class="<?php echo $cat_slug ?>"><?php echo $cat_name; ?></p>

今回はスラッグ名をclass名に割り当てました。
記事が属するカテゴリーのスラッグを取得してクラスをつける方法でした。

ポイント

カスタム投稿タイプにカテゴリ&タグ追加しアーカイブページで表示
検索結果からページを除外
条件分岐によってページ毎に別デザインする方法
プラグインなしで絞り込み機能の設置
カスタム投稿タイプのURLをIDに変更する方法
カスタムフィールド が空の場合の処理方法メモ
会員限定記事と一般公開記事にそれぞれ別のアイコンを設定
WordPressの本文のpやhタグにclassをつける