【WordPress】固定ページのページネーション

WordPressのページネーション

はじめに書いたコードが以下である。このコードはトップページ(front-page.php)または、カテゴリー(category.php)上では正常に動作するが、固定ページではページング処理ができなかった。

 

動作させるには上記コードのほかにページャーを生成する関数をfunctions.phpに定義しなければいけない。
ページャー用コードは下記サイトのものを使わせてもらった。

https://wemo.tech/978

 

固定ページでページネーション

さて、冒頭のコードでは固定ページでページネーションできない理由はというと、「固定ページでページネーションする場合、ループ処理はget_posts()ではなく、WP_Query()を使って、max_num_pagesを取得しなければいけない」からだ。

なので、以下のように修正すれば固定ページでもページネーションできる。

 

ちなみに、WP_Queryがクラスなのでwhile文を使ったループに書き換えてあるが、下記のように$query->postsの中身を配列として扱えばforeach文でも同じ処理がかける。

 

コメント

タイトルとURLをコピーしました