サポート » 使い方全般 » ページネーションに空白のページまで出力される

  • 解決済 nagisane

    (@nagisane)


    こんにちは。

    カスタムポストのアーカイブページにページネーションを設置したのですが、空白ページが作られてしまい困っています。

    例えば1ページにつき最大12件表示可能なページに11件しか登録がないのに2ページ目のリンクが作られ、2ページ目にアクセスするとページネーションだけが表示された空白のページが開いてしまいます。

    解決策がわかる方がいらっしゃいましたらご教示いただけますと幸いです。

    function

    function the_pagination() {
      global $wp_query;
      $bignum = 999999999;
      if ( $wp_query->max_num_pages <= 1 )
        return;
      echo '<nav class="pagination">';
      echo paginate_links( array(
        'base'         => str_replace( $bignum, '%#%', esc_url( get_pagenum_link($bignum) ) ),
        'format'       => '',
        'current'      => max( 1, get_query_var('paged') ),
        'total'        => $wp_query->max_num_pages,
        'prev_text'    => '&larr;',
        'next_text'    => '&rarr;',
        'type'         => 'list',
        'end_size'     => 3,
        'mid_size'     => 3
      ) );
      echo '</nav>';
    }

    アーカイブページ

    <?php if( function_exists("the_pagination") ) the_pagination(); ?>;
    <?php
    $paged = get_query_var('paged');
    query_posts($query_string . '&posts_per_page=12&paged=' . $paged);
    if (have_posts()):
        while (have_posts()): the_post();
    >
    以下省略
    • このトピックはnagisaneが5ヶ月、 4週前に変更しました。
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは

    query_postsを使わずに、代わりに WP_Query などを使ってください。

    query_posts のリファレンスこう書かれています。

    一部の状況では適切に実行することもできません(特にページング処理)。

    Honda

    (@rocketmartue)

    独自関数を使わずに、<?php the_posts_pagination(); ?>を使ってみてはどうでしょうか?
    関数リファレンス/the posts pagination

    @munyagu さん
    @rocketmartue さん

    ご返信ありがとうございます!
    教えていただいたとおり、WP_Queryの記述に変更したり、<?php the_posts_pagination(); ?>を使ったり試してみたのですが症状変わらず、いろいろ試行錯誤しておりましたところ、WPの表示設定>1ページに表示する最大投稿数の数を12に変更することで改善されました。

    当方初心者のため、ものすごく初歩的なことだったができていなかったようです。

    この度はお忙しい中、ご返信をいただきまして誠にありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。