カテゴリー情報を取得する方法
WordPress上で定義したカテゴリーの情報を取得するためには、以下のようにコーティングします。このコードを見てもらえるとわかると思いますが、
1 |
get_the_category() |
でカテゴリーの情報を取得することができ、その取得したカテゴリー情報から、カテゴリーIDやカテゴリー名などの情報にアクセスするといった実装になります。
1 2 3 4 5 6 7 |
<?php $category = get_the_category(); $cat = $category[0]; $cat_id = $cat->cat_ID; $cat_name = $cat->cat_name; $cat_slug = $cat->category_nicename; ?> |
エラーを回避する方法
上記の実装で、Wordpressのカテゴリー情報を取得することができるはずではありますが、自分の場合、以下のようなエラーが出てきました。
WordPress error Notice: Undefined offset: 0
簡単にいえば、配列のうちアクセスできないインデックスが指定されているようなかんじ。インデックス0で正しいはずなのに、「なぜ、アクセスできないの?」とは最初思いましたが、
1 |
get_the_category() |
にそもそも値が入っていないという現象に陥りました。もし同じ症状が表れたら、次のコードを試しに実装してみてください。自分は、これで解決することができました。
1 2 3 4 |
<?php if(isset($category, $category[0])) { } ?> |
全体としては、以下のようなかんじになります。変数が存在しているかどうかを判別してから、やりたい処理を行います。
1 2 3 4 5 6 7 8 |
<?php $category = get_the_category(); if(isset($category, $category[0])) { $cat_id = $category[0]->cat_ID; $cat_name = $category[0]->cat_name; $cat_slug = $cat->category_nicename; } ?> |