サポート » 使い方全般 » カテゴリアーカイブにカスタム投稿を表示

  • 解決済 nibo57

    (@nibo57)


    カテゴリアーカイブに「通常の投稿(post)」以外に
    「カスタム投稿」を表示させようとしてます。

    ■投稿タイプ
    ・post
    ・カスタム投稿

    ■カテゴリ
    ・カテゴリ
    ・カスタムカテゴリ

    そこで、functions.phpに以下の記述をしたのですが、
    通常のカテゴリ一覧の場合は、「post」も「カスタム投稿」も表示されます。
    しかしながら、「カスタムカテゴリ」の一覧の場合は「post」しか表示されません。

    【functions.phpに記載したコード】

    function shop_posts_per_page($query) {
        if ( is_admin() || ! $query->is_main_query() )
            return;
    
        if ( $query->is_category() ) {
            $query->set( 'post_type', array('category02','post') );
        }
    }
    add_action('pre_get_posts','shop_posts_per_page');

    【アーカイブのコード】

    <?php if ( have_posts() ) : ?>
    	<?php
    	/* Start the Loop */
    	while ( have_posts() ) : the_post();
    		get_template_part( 'content', get_post_format() );
    	endwhile;
    	?>
    
    <?php else : ?>
    	<?php get_template_part( 'content', 'none' ); ?>
    <?php endif; ?>

    お手数ですがご教示のほど宜しくお願い致します。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 nibo57

    (@nibo57)

    自己解決しました。

    単純に「is_category」でカテゴリーしか指定していなかったので、
    クソノミーのアーカイブページ「is_tax() 」を指定したら解決しました。

    function shop_posts_per_page($query) {
        if ( is_admin() || ! $query->is_main_query() )
            return;
    
        if ( $query->is_category() || is_tax() ) {
            $query->set( 'post_type', array('category02','post') );
        }
    }
    add_action('pre_get_posts','shop_posts_per_page');
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「カテゴリアーカイブにカスタム投稿を表示」には新たに返信することはできません。