このエントリーをはてなブックマークに追加 Twitterでツイート カテゴリオブジェクトはいくつか種類があるらしい

WordPressにはカテゴリ情報を取得するいくつかの関数が用意されています。
投稿記事のカテゴリ情報であれば、get_the_category関数を利用するわけですが、この関数の戻り値はカテゴリ情報のオブジェクトが格納された配列になります。
これに対し、登録されているすべてのカテゴリ情報を取得する場合は、個人的にget_terms関数を使って、こちらもカテゴリ情報のオブジェクトが格納された配列が戻り値です。

$cats = get_terms( "category", "get=all" );

2つの関数の戻り値は、どちらもカテゴリ情報なのですが、get_the_category関数の戻り値のほうが、いくつか拡張されているようです。

get_the_category関数の場合	get_terms関数の場合
[term_id] => 11			[term_id] => 11
[name] => ブログ			[name] => ブログ
[slug] => blog			[slug] => blog
[term_group] => 0		[term_group] => 0
[term_taxonomy_id] => 11	[term_taxonomy_id] => 11
[taxonomy] => category		[taxonomy] => category
[description] => 		[description] =>
[parent] => 0			[parent] => 0
[count] => 3			[count] => 3
[object_id] => 11			
[cat_ID] => 1			
[category_count] => 3		
[category_description] => 		
[cat_name] => ブログ		
[category_nicename] => blog	
[category_parent] => 0		

拡張されている要素の名前はわかりやすいわけですが、こちらはget_the_category関数で取得した場合だけなのでちょっと注意が必要かな、なんて思っちゃいました。

投稿日:2009年9月2日

コメント / トラックバック2 件

  1. tf0054 より:

    たしかに!
    get_termsを使うと、「親が居る」ことは分かるけど「その親が誰か」の情報が無いですね。

  2. サイト管理者 より:

    コメントありがとうございます。
    get_termsで取得したカテゴリ情報の場合、カテゴリ情報オブジェクトのparentが0ならば親はなし、0以外であればそれが親カテゴリ情報のterm_idになるので、その値から親のカテゴリ情報を識別することはできますよ。

  • ※コメントは、スパム対策などのためIPアドレスにて制限しております。
  • ※誹謗や中傷、スパムなど、不適切な内容は公開いたしません。ご了承ください。