サポート » 使い方全般 » 記事一覧表示時のページネーション

  • 解決済 flour621

    (@flour621)


    Wordpress初心者です。
    タイトルの通り、archive.phpに記述したページネーションが上手く行かず困っています。

    具体的には、ページャー自体は正しく表示されているのですが、2ページ目の内容が1ページ目と同じ内容になってしまっています。

    archive.phpの内容は以下のとおりです。

    <?php
      global $wp_query;
      $paged = get_query_var('paged') ? get_query_var('paged') : 1 ;
      $args = array(
      'post_per_page' => $wp_query->max_num_pages,
      'orderby' => 'date',
      'order' => 'DESC',
      'paged' => $paged
      );
      $my_query = new WP_Query($args);
    ?>
      <div class="section">
      <div class="l-inner">
      <?php if ( $my_query -> have_posts() ) : ?>
      
      <?php while ( $my_query -> have_posts() ) : $my_query -> the_post(); ?>
        //投稿タイトルと日付を表示
      <?php endwhile; ?>
      
      <?php else : ?>
        //投稿がなかった場合の表示
      <?php endif;
    
      $big = 999999999;
      ?>
    
      <?php
      echo paginate_links( array(
      'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
      'format' => '?paged=%#%',
      'current' => max( 1, get_query_var('paged') ),
      'total' => $wp_query->max_num_pages,
      'type' => 'list'
      ) );
      ?>
    
      </div>
      </div>
    

    2ページ目にいる状態で3行目で取得した $paged を var_dump() しましたが、上手く取得できていないようでした。( int(0)と表示される )
    また、 $wp_query を var_dump() したところ、 is_paged が false になっていました。

    特別行ったことといえば、記事一覧ページのスラッグを こちらのページ を参考に http://ドメイン名/news/ に変更したことですので、おそらくこのあたりに原因があるのかなと考えましたが、解決方法が思いつきません…。

    どなたかお知恵を貸していただけると幸いです。よろしくお願いいたします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは、

    @flour621 さんがやろうとしている事は、投稿記事一覧を http://ドメイン名/news/にして、表示したいという事でいいのでしょうか?

    その場合は、わざわざテンプレートを作成しなくてもカスタマイズ/固定フロントページの設定で、そのように表示することが可能です。

    その方法は、
    固定ページを普通に新規作成しタイトルを newsにして、本文を空欄にします。

    カスタマイズ/固定フロントページを表示して、投稿ページのドロップダウンリストから、newsを選択して保存すると、http://ドメイン名/news/で投稿一覧が表示できるようになります。

    ご呈示のコードがうまく動かない件ですが、archive.phpを固定ページテンプレートとして作成していませんか?

    固定ページテンプレートというのは、以下のようなコメントを含むテンプレートです。

    
    /**
     * Template Name: archive
     */
    
    トピック投稿者 flour621

    (@flour621)

    @nobitaさん、お返事をいただきありがとうございます!

    基本的な質問になってしまい申し訳ありません…。
    投稿一覧ページは、トップページの下層扱いにしたいのですが、その場合もお教えいただいた固定フロントページの設定で表示ができるのでしょうか?

    コードが上手く動かない件に関しましては、 archive.php は twenty_seventeen のものをコピーして改変したもので、ご例示いただいたコメントは含まれていなかったので、おそらく固定ページテンプレートにはなっていないはずです…!

    投稿一覧ページは、トップページの下層扱いにしたいのですが、その場合もお教えいただいた固定フロントページの設定で表示ができるのでしょうか?

    先ほどの、指定方法で
    トップページが、http://example.com/wp/ なら、ブログ一覧は、http://example.com/wp/news/になるので、これが下層という意味でよければ、大丈夫なので、まずやってみてください。

    固定フロントページの、「フロントページ」がトップページになるので、同様のやり方で設定できます。

    コードが上手く動かない件に関しましては、 archive.php は twenty_seventeen のものをコピーして改変したもので、ご例示いただいたコメントは含まれていなかったので、おそらく固定ページテンプレートにはなっていないはずです…!

    だとすると、ちょっとよく解からないです

    トピック投稿者 flour621

    (@flour621)

    ありがとうございます!
    お教えいただいたとおり、固定フロントページから「投稿ページ」を任意の固定ページに変更したところ、一覧の表示ができただけでなく、ページネーションも正常に動くようになりました。

    ご丁寧にお教えいただき、本当にありがとうございました。
    大変勉強になりました!

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「記事一覧表示時のページネーション」には新たに返信することはできません。