WordPressのループ外でカテゴリー名・カテゴリーID・カテゴリーのURL・スラッグを取得する方法

WordPressのループ外でカテゴリー名・カテゴリーID・カテゴリーのURL・スラッグを取得する方法

WordPressでカテゴリー名を表示させたいものの、リンクは要らないというケースがありました。

例えば、記事を一覧表示する際にカテゴリーは見せたいけどリンクは記事に飛ばすものだけでいい、っていう場合ですね。

カテゴリー名を取得しそれを表示させる方法を、リンク付のものとリンクなしのものそれぞれご紹介します。

get_the_categoryで取得できる諸々

カテゴリーの名前やカテゴリーIDなどを個別に取得するためには、テンプレートタグの「get_the_category」を使います。

それぞれの書き方について個別に紹介していきますね。

カテゴリー名

カテゴリー名を取得したいときはこちらです。リンクなしでカテゴリー名だけを取得したいときに便利です。

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

カテゴリーID

カテゴリーIDを取得したいときはこちら。IDを表示することはないと思いますが、カテゴリーごとに色を変えたいといった場合にclass名に仕込んで置いたりすると便利ですよ。

<?php
  $category = get_the_category();
  $cat_id = $category[0]->cat_ID;
  echo $cat_id;
?>

カテゴリーのスラッグ

カテゴリーのスラッグを取得したいときはこちら。IDと同じように、クラス名などにスラッグを追加して使うときに活用できます。

<?php
  $category = get_the_category();
  $cat_slug = $category[0]->category_nicename;
  echo $cat_slug;
?>

カテゴリーのURL

カテゴリーのURLを取得したい場合はこちら。リンク付きでカテゴリーを取得する方法を後ほどご紹介しますが、なんらかの理由でURLだけを取得したい場合はこちらを使ってください。

<?php
  $category = get_the_category();
  $cat_id = $category[0]->cat_ID;
  $cat_link = get_category_link($cat_id);
  echo $cat_link;
?>

カテゴリーの説明文

説明文は「category_description」というテンプレートタグで取得できます。

<?php echo category_description(); ?>

こちらについては別記事も書いてまして、タグやカスタムタクソノミーの説明文についてもコードを書いてます。

WordPressでカテゴリー・タグ・タームの説明文を出力する方法
WordPressでカテゴリー・タグ・タームの説明文を出力する方法
続きを読む

カテゴリー名をリンク付きで取得する場合

テンプレートタグ「the_category」というものもありまして、こちらは書き方がシンプルです。

ただし、ループ内でしか使えないこと、リンク付きになっちゃうので、使う場所は選ぶと思います。

<?php the_category(); ?>

最後に

カテゴリ名を表示させようと思ったらリンク付きで表示させるものの情報が多くて、なかなかリンクなしのテキストだけで表示させる方法が見つからなかったので書きました。

WordPressについては他にもいろんな記事書いてますので、WordPressカテゴリの記事一覧ページも覗いてみてください。