[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 />';
}

?>
カテゴリー: 未分類   パーマリンク

コメントを残す

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


*

* Copy This Password *

* Type Or Paste Password Here *

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>