サポート » 使い方全般 » カスタム投稿でデフォルトの「タグ」を使用し、WP全記事を対象にしたタ

  • 解決済 mametasu

    (@mametasu)


    【現状】
    ・複数のカスタム投稿を Custom Post Type UI プラグインを使って設置
    ・各カスタム投稿では、Wordpressデフォルトの「タグ」も選択できるよう設定
    ・「タグ」は不定期に追加、削除される

    【実現したいこと】
    Wordpressデフォルトの「タグ」をアーカイブで一覧表示したときに、各カスタム投稿の記事全部を統合した一覧表示にしたい。

    archive.php や archive-カスタム投稿名.php では、各タイプに限定された投稿しか表示されないので、wordpress全体の記事を一覧表示させることは無理なのでしょうか?
    色々考えたものの、よい解決策が思いつかず。。

    何か良い案をお持ちの方がいましたら、教えていただきたいです。
    よろしくお願いします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    無理じゃなく、割と楽にできます。

    function my_custom_query($query) {
    	if ( is_admin() || ! $query->is_main_query() )
    		return;
    
    	if ( $query->is_archive() ) {
    		$query->set( 'post_type', get_post_types( array( "public" => true ), 'names' ) );
    	}
    }
    add_action( 'pre_get_posts', 'my_custom_query' );

    とりあえずアーカイブの時に公開されている投稿タイプが全て含まれるようにした例です。is_searchの時も引っかかって欲しいとか、いやis_tagの時だけだとかは条件分岐でお好みに出来ますし、$query->set( ‘post_type’, array(‘post’,’book’) ); としてやれば対象になる投稿タイプを明示することもできます。

    トピック投稿者 mametasu

    (@mametasu)

    function.php に記述するんですね。
    コードを追加したら、問題なく表示されました。
    色々アレンジできそうなので試してみます。

    どうもありがとうございます、大変助かりました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタム投稿でデフォルトの「タグ」を使用し、WP全記事を対象にしたタ」には新たに返信することはできません。