質問編集履歴

2 文法の修正

takao4649

takao4649 score 15

2018/11/17 11:00  投稿

【Wordpress】固定ページの全記事表示について、ページャーの2ページ目の404を解決したい
Wordpressについて、固定ページで全記事一覧を作成したいのです。
記事表示は出来たのですが、ページャーの2ページ目が404になってしまいます。
### 問題・エラー
全記事一覧の2ページ目が、404表示になってしまう。
1. ページャーのリンク先は、/column/page/[ページ数]となっている
2. クリック後に、/column/page/[ページ数]/ となり、404ページが表示される
3. 手動で、(1)のURLを入力しても、(2)へ遷移してしまい同様でした
### 実現したいこと
1. Wordpressにて、全記事一覧を作成したい(固定ページ)
2. 以下URLの構成
- 全記事: https://[ドメイン]/column/
- 2ページ目: https://[ドメイン]/column/?page=[ページ数]
 (https://[ドメイン]/column/page/[ページ数]/ だと、なお良いです)
該当のコードは以下のように設定しています。
```
<ul>
               <?php
                   $paged = (int) get_query_var('paged');
                   $args = array(
                    'posts_per_page' => 9,
                    'paged' => $paged,
                    'orderby' => 'post_date',
                    'order' => 'DESC',
                    'post_type' => 'post',
                    'post_status' => 'publish'
                   );
                   $the_query = new WP_Query($args);
                   if ( $the_query->have_posts() ) :
                    while ( $the_query->have_posts() ) : $the_query->the_post();
               ?>
                   <li>
                       <dl>
                           <dt>
                               <a href="<?php the_permalink(); ?>">
                               <?php if (has_post_thumbnail()) : ?>
                                   <?php the_post_thumbnail('index_thumbnail'); ?>
                               <?php else : ?>
                                   <img src="#">
                               <?php endif ; ?> 
                               </a>
                           </dt>
                           <dd>
                               <div><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
                               <div><?php the_category(); ?></div>
                               <div class="list-info-time"><time datetime="<?php the_modified_date( 'Y/m/d' ) ?>"><?php the_modified_date('') ?></time></div>
                           </dd>
                       </dl>
                   </li>
               <?php endwhile; endif; ?>
               </ul>
               <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
               <!--ページャーの表示-->
               <?php
                   if ($the_query->max_num_pages > 1) {
                    echo paginate_links(array(
                    'base' => get_pagenum_link(1) . '%_%',
                    'format' => '?paged=%#%',
                    'current' => max(1, $paged),
                    'total' => $the_query->max_num_pages
                    ));
                   }
               ?>
               <?php
                   $pagination = get_the_posts_pagination( array(
                       'mid_size' => 2,
                       'prev_text' => __( 'Newer', 'textdomain' ),
                       'next_text' => __( 'Older', 'textdomain' ),
                   ) );
               ?>
               
               <?php wp_reset_postdata(); ?>
```
---
よろしくお願いいたします。
  • WordPress

    13700 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

1 内容がながったので、無駄な文言を省きました。

takao4649

takao4649 score 15

2018/11/17 10:59  投稿

【Wordpress】固定ページの全記事表示について、ページャーの2ページ目の404を解決したい
Wordpressについて、
固定ページで、全記事一覧を作成したいのです。
記事表示は出来たのですが、ページャーの2ページ目が404になってしまい、
自分では解決できないので、もし解決方法が分ければ教えていただきたいです。
Wordpressについて、固定ページで全記事一覧を作成したいのです。
記事表示は出来たのですが、ページャーの2ページ目が404になってしまいます。
よろしくお願い致します。
### 問題・エラー
全記事一覧の2ページ目が、404表示になってしまう。  
### 前提・実現したいこと
1. ページャーのリンク先は、/column/page/[ページ数]となっている
2. クリック後に、/column/page/[ページ数]/ となり、404ページが表示される
3. 手動で、(1)のURLを入力しても、(2)へ遷移してしまい同様でした
### 実現したいこと
1. Wordpressにて、全記事一覧を作成したい(固定ページ)
2. 以下URLの構成
- 全記事: https://[ドメイン]/column/
- 2ページ目: https://[ドメイン]/column/?page=[ページ数]
 (https://[ドメイン]/column/page/[ページ数]/ だと、なお良いです)
### 発生している問題・エラーメッセージ
全記事一覧の2ページ目が、404表示になってしまう。
1. ページャーのリンク先は、/column/page/[ページ数]となっている
2. クリック後に、/column/page/[ページ数]/ となり、404ページが表示される
3. 手動で、(1)のURLを入力しても、(2)へ遷移してしまい同様でした
### 該当のソースコード
全ての記事表示・ページャーのコードは以下のように設定しています。
該当のコードは以下のように設定しています。
```
<ul>
               <?php
                   $paged = (int) get_query_var('paged');
                   $args = array(
                    'posts_per_page' => 9,
                    'paged' => $paged,
                    'orderby' => 'post_date',
                    'order' => 'DESC',
                    'post_type' => 'post',
                    'post_status' => 'publish'
                   );
                   $the_query = new WP_Query($args);
                   if ( $the_query->have_posts() ) :
                    while ( $the_query->have_posts() ) : $the_query->the_post();
               ?>
                   <li>
                       <dl>
                           <dt>
                               <a href="<?php the_permalink(); ?>">
                               <?php if (has_post_thumbnail()) : ?>
                                   <?php the_post_thumbnail('index_thumbnail'); ?>
                               <?php else : ?>
                                   <img src="#">
                               <?php endif ; ?> 
                               </a>
                           </dt>
                           <dd>
                               <div><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></div>
                               <div><?php the_category(); ?></div>
                               <div class="list-info-time"><time datetime="<?php the_modified_date( 'Y/m/d' ) ?>"><?php the_modified_date('') ?></time></div>
                           </dd>
                       </dl>
                   </li>
               <?php endwhile; endif; ?>
               </ul>
               <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
               <!--ページャーの表示-->
               <?php
                   if ($the_query->max_num_pages > 1) {
                    echo paginate_links(array(
                    'base' => get_pagenum_link(1) . '%_%',
                    'format' => '?paged=%#%',
                    'current' => max(1, $paged),
                    'total' => $the_query->max_num_pages
                    ));
                   }
               ?>
               <?php
                   $pagination = get_the_posts_pagination( array(
                       'mid_size' => 2,
                       'prev_text' => __( 'Newer', 'textdomain' ),
                       'next_text' => __( 'Older', 'textdomain' ),
                   ) );
               ?>
               
               <?php wp_reset_postdata(); ?>
```  
 
### 試したこと  
 
以下サイトを参考に試しましたが、原因・解決策が思いつかなかったです。  
 
http://blog.yukarien.com/tech/how-to-fix-no-category-pagination/  
http://xtra-blog.net/pagination/  
 
 
---
  • WordPress

    13700 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る