🔗

固定ページのカスタイム投稿タイプ一覧で、2ページ目移行、「ここには何もありません」と表示される。

2023/01/19に公開

【対象となる環境】
・特殊な理由で、カスタム投稿タイプ一覧をアーカイブページではなく、固定ページにて取得する。
・その際、2ページ目以降に遷移すると、404エラー「ここには何もありません」が発生する。
・プラグインCustom Post Type UIを使っている

他記事を参考に記述を変えてみるも解決せず

【解決策】
・Custom Post Type UIにて、該当の投稿タイプで、リライトの設定を「偽:false」に設定する。
・元々、アーカイブページ用に働いているリライトルールが悪さをしていた模様。
・なお、手動でカスタム投稿タイプを作る際も、rewriteのオプションがあるみたいなので、Custom Post Type UIに限った話でもないかも

一応クエリループとページネーション置いておきますが特殊なことはしていません。

<div class="newsWrap">
        <section class="newsList">
            <?php
            $paged = (int) get_query_var('paged');
            $args = array(
                'posts_per_page' => 10,    //表示する記事の数の指定
                'post_type' => 'news', //投稿タイプの指定
                'orderby' => 'date',
                'order' => 'DESC',
                'paged' => $paged,
            );
            $posts = new WP_Query($args);
            if ($posts->have_posts()) :
                while ($posts->have_posts()) : $posts->the_post(); ?>
                    <a href="<?php the_permalink(); ?>" class="newsList__item">
		    /* アイテム */
                    </a>
            <?php endwhile;
            endif;
            ?>
        </section>
        <section class="pagenation">
            <?php
            if ($posts->max_num_pages > 0) {
                echo paginate_links(array(
                    'base' => get_pagenum_link(1) . '%_%',
                    'format' => 'page/%#%/',
                    'current' => max(1, $paged),
                    'total' => $posts->max_num_pages,
                    'prev_text' => '<<', //次への表示指定
                    'next_text' => '>>' //前への表示指定
                ));
            }
            wp_reset_query(); //クエリのリセット
            ?>
        </section>
    </div>

Discussion