質問: ワードプレスで質問です。 (WordPress 3.8.1) 投稿カテゴリーで質問です。 【やりたい事】 親カテゴリーの中に子カテゴリーがあります。 例 東京(親) → 渋谷(子)、原宿(子) 今回、 記事の中で、 渋谷や原宿をh3の見出し、 そして、 渋谷や原宿の中に入っている記事のタイトルをでリンク一覧にする *画像にある、特定のIDだけ表示させるやり方はわかっているのですが、 ”例えば、親カテゴリーのIDを指定して、 その中にある、それぞれの渋谷や原宿をh3の見出し、 そして、 渋谷や原宿の中に入っている記事のタイトルをでリンク一覧にする”みたいなことは可能なのでしょうか? IDを見る限り、それぞれ別の数字が振られており独立していると考えるべきなのでしょうか? *お伝えしたいことがあまりうまく文面にできていないかもしれません涙 なにかあれば追加ご質問ください。
回答: 「get_categories()」で指定したカテゴリーIDの子カテゴリーまたは子孫カテゴリーを取得する事が可能です。 ``` $args = array( //'child_of' => $cat, /* 孫カテゴリなど子孫カテゴリーすべて取得したい場合はこちらを利用します。 */ 'parent' => $cat, /* 直属の子カテゴリーのみ取得する場合はこちらを利用します。 */ 'hide_empty' => 0, /* 投稿がないカテゴリーを取得しない時はコメントアウトするか「1」を指定します。 */ ); $categories = get_categories( $args ); if($categories): foreach($categories as $child) : echo "" . $child->name . ""; if($child->count): $entries = get_posts("posts_per_page=7&cat=" . $child->term_id); // デフォルトでは5件ですが、それ以上または以下の件数を取得したい場合は、「posts_per_page」に任意の数値を指定します。 echo "\n"; foreach($entries as $post): setup_postdata( $post ); echo "" . get_the_title() . "\n"; endforeach; wp_reset_postdata(); echo "\n"; endif; endforeach; endif; ``` ※カテゴリーアーカイブでは「$cat」にカレントカテゴリのIDがセットされています。 もしカテゴリーアーカイブ以外のページで利用する場合は、任意のカテゴリーIDを明示的に指定して利用してください。 ・関数リファレンス/get categories