WebDesign Dackel

WordPressのcategory.php内で現在のカテゴリを取得する

Hatena0
Google+0
Pocket0
Feedly0

カテゴリーの取得方法はいくつかありそうですが、普段使うやり方がやっと決まってきたのでメモです。
よく使うのによく忘れるので。

$category = get_category( get_query_var("cat") );
var_dump( $category );

// ↓ 返ってくるのはcategoryオブジェクト(未分類の例です)
object(stdClass)#1778 (16) {
  ["term_id"]=>
  int(1)
  ["name"]=>
  string(9) "未分類"
  ["slug"]=>
  string(7) "unknown"
  ["term_group"]=>
  int(0)
  ["term_taxonomy_id"]=>
  int(1)
  ["taxonomy"]=>
  string(8) "category"
  ["description"]=>
  string(0) ""
  ["parent"]=>
  int(0)
  ["count"]=>
  int(102)
  ["filter"]=>
  string(3) "raw"
  ["cat_ID"]=>
  int(1)
  ["category_count"]=>
  int(102)
  ["category_description"]=>
  string(0) ""
  ["cat_name"]=>
  string(9) "未分類"
  ["category_nicename"]=>
  string(7) "unknown"
  ["category_parent"]=>
  int(0)
}

get_query_var("cat") で現在のカテゴリIDを取得して、取得したIDからカテゴリオブジェクトを取得するだけです。
グローバル変数として「$cat」も同じ値が取得できますが

$category = get_categories();
foreach( $category as $cat ){
    ...何らかの処理
}

こんな感じのループがあったら上書きされてしまっている可能性があるので、極力上記の方法を使うのがいいかなぁと思います。