[WP3.9] 特定のカテゴリと、そのサブカテゴリに属する投稿を一覧表示

例えば、以下のようなカテゴリが存在しているとします。

20140420-1

その場合に、親カテゴリと子カテゴリ(この場合、子カテゴリ1と子カテゴリ2)のどちらに関連づいている投稿一覧を表示してみます。

まずは親カテゴリの tag_id を調べます。
調べ方は、管理画面の「投稿」メニュー > カテゴリー > 親カテゴリー名をクリック し、URLを確認します。
/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=2&post_type=post となっているはずですので、tag_ID のところの数値をメモします。

次にテンプレートの適当な場所に以下のコードを記述します。
その際に、先ほどメモした tag_ID の数値を 2 と書いてあるところに打ち替えてください。

<?php

$arrPosts = $wpdb->get_results("
    select p.ID, p.post_title
    from wp_posts as p
    left join wp_term_relationships as tr on p.ID = tr.object_id
    left join wp_term_taxonomy as tt on tr.term_taxonomy_id = tt.term_taxonomy_id
    left join wp_terms as t on t.term_id = tt.term_id
    where tt.parent = 2 or tt.term_id = 2 // ここに tag_ID を入れる
    order by post_date desc
");

foreach ($arrPosts as $arrPost){
    echo '<a href="/?p=' . $arrPost->ID . '">' . $arrPost->post_title . '</a></li><br />';
}

?>
This entry was posted in 未分類. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*