WordPressでカテゴリースラッグを取得する方法

コーポレートサイトを制作する際、ページのタイトルを画像で表示させたり、投稿のカテゴリーごとにアイコンをつけたりすることがあります。
条件分岐で振り分けたり、テンプレートを個別に制作することで対応することも可能ですが、できればHTMLやCSSで表示をコントロールできた方が私の心が安らかなので、カテゴリースラッグを取得してclass名に指定します。

目次

  • 私がやりたかったこと
  • テンプレートタグ<? php get_the_category(); ?>を使って取得
  • 何でこうなった?
  • 参考ページ

Advertising

私がやりたかったこと

<div class=”news”>
<h1 class=”page_title”>おしらせ</h1>
</div>

1行目のclass名「news(カテゴリースラッグ)」と、2行目の見出しの中身「おしらせ(カテゴリー名)」を
なんとかうまいこと取り出して、楽したい。

後々カテゴリーが増えた時にも、CSSを追加すれば対応できるという安心感も確保したい。

テンプレートタグ<?php get_the_category(); ?>を使って取得

<?php
$cat = get_the_category();
$cat = $cat[0];
?>
<div class=”<?php echo $cat->category_nicename; ?>”>
<h1 class=”page_title”><?php echo $cat->cat_name; ?></h1>
</div>

これでOK。

何でこうなった?

get_the_category() はカテゴリーに関するいろいろな情報を持っているので、
その情報の中から必要なものを選んで表示させているということみたいです。

<div class=”<?php echo $cat->category_nicename; ?>”>

の「category_nicename」の部分を必要に応じて変更していくわけです。

cat_ID – 記事のカテゴリーID。
cat_name – 記事のカテゴリー名。
category_nicename – 記事カテゴリーのカテゴリースラッグ。
category_description – 記事のカテゴリー説明文。
category_parent – 記事の親カテゴリーにあたるカテゴリーのID。親カテゴリーがない場合は「0」を返す。
category_count -カテゴリーが使われている回数。

このような情報が取得できるので、便利に使っていきたいですね。

参考ページ

テンプレートタグ/get the category – WordPress Codex 日本語版

Author

すずき のりえ
@planbworks

Webデザイナー / グラフィックデザイナー / エイチレフ合同会社 業務執行社員
コーポレートサイト・リクルーティングサイト、会社案内・入社案内がメインです。最近では医療・福祉系のお客様が多いです。
2015年10月より母校で非常勤講師(DTP)。2017年3月よりお茶のお稽古に通っています(裏千家)。

関連記事