[WP3.9] 特定のカテゴリと特定タグに合致する記事一覧を表示する

例えば、「子カテゴリ1」というカテゴリがあって、「タグ1」というタグがあるとします。
この両方の条件を満たす記事の一覧だけを表示する方法をやってみたいと思います。

まず、「子カテゴリ1」と「タグ1」との tag_id を調べます。
これは WordPress の管理画面で、投稿 > カテゴリー の画面から、「子カテゴリ1」の編集画面に進むと、そのページのURLの中に tag_ID が表示されています。

20140511-1

「タグ1」についても同様に調べてみてください。今回は、tag_ID は「子カテゴリ1」が3、「タグ1」が6だったとして話を進めます。記事一覧を表示したいテンプレート内に以下のような記述を行います。

<?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.term_id in (3, 6) // ここに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.

コメントを残す

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

*