カスタム投稿記事をタグ一覧ページに表示させる方法【WordPress】

コーディング

tag.phpなどのタグのアーカイブページで、該当タグがついたカスタム投稿記事を表示させたい!
でもなぜかうまくいかない…と行き詰ってしまった時に解決した方法です。

うまくいかない原因は様々ですが、同じように困っている方は下記の設定がきちんとできているか確認してください。

tag.phpは通常の投稿タイプ(post)しか表示しない

とても初歩的な問題だったのですが、tag.phpはデフォルトの設定のままだと、通常の投稿タイプ(post)しか表示しません。

そのため、カスタム投稿タイプもタグのアーカイブに表示させたい場合は、functions.phpに下記の記述をする必要があります。

//WPタグのアーカイブページにカスタム投稿タイプも表示させる
function add_post_tag_archive( $wp_query ) {
  if ($wp_query->is_main_query() && $wp_query->is_tag()) {
    $wp_query->set( 'post_type', array('post','●●●'));
  }
}
add_action( 'pre_get_posts', 'add_post_tag_archive' , 10 , 1);

※●●●にはカスタム投稿タイプのタクソノミースラッグを入れてください。

あとは他のアーカイブページ同様、tag.phpにループの記述をするだけで各タグの一覧ページが作成できました。

補足

(行き詰まっていた時の状況)
・「投稿」>「タグ」で作成するWPコアのタグを使用
・カスタム投稿はプラグイン「Custom Post Type UI」で作成
・上記CPTの投稿タイプの設定にて、利用するタクソノミーで「タグ(WPコア)」は選択済