テーマ関数を利用する
wordpressの個別記事が属するカテゴリのidやslug名を取得したい場合どうすればよいか。
テンプレートタグには、カテゴリータグというものが用意されており、その中のget_the_category()という関数で取得できる。single.php内に以下のように記述してみると返り値を確認できる。
1 2 3 4 | $cat = get_the_category(); echo "<pre>" ; var_dump( $cat ); echo "</pre>" ; |
戻された値は以下のとおり。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | array (1) { [0]=> object(stdClass)#2285 (16) { [ "term_id" ]=> &string(1) "3" [ "name" ]=> &string(7) "cakephp" [ "slug" ]=> &string(7) "cakephp" [ "term_group" ]=> string(1) "0" [ "term_taxonomy_id" ]=> string(1) "3" [ "taxonomy" ]=> string(8) "category" [ "description" ]=> &string(0) "" [ "parent" ]=> &string(1) "0" [ "count" ]=> &string(1) "2" [ "object_id" ]=> string(2) "58" [ "cat_ID" ]=> &string(1) "3" [ "category_count" ]=> &string(1) "2" [ "category_description" ]=> &string(0) "" [ "cat_name" ]=> &string(7) "cakephp" [ "category_nicename" ]=> &string(7) "cakephp" [ "category_parent" ]=> &string(1) "0" } } |
上の結果から、
cat_IDは3であることが把握できる。cat_IDのデータを使って、記事取得関数(get_postsなど)に引数として渡せば、該当カテゴリの記事をだけを取得することができる。