-
投稿者投稿
-
2022年8月27日 3:48 PM #110064
【お使いの Snow Monkey のバージョン】16.5.4
【お使いの Snow Monkey Blocks のバージョン】15.0.6
【お使いの Snow Monkey Editor のバージョン】7.0.1
【お使いのブラウザ】Google Chrome
【当該サイトのURL】ローカル環境はじめて質問させていただきます。
### 実現したいこと
固定ページでサブループを回して、アーカイブページと同じページネーションを表示させたいと考えています。### 発生している問題
ページネーションが表示されない。### 試したこと
固定ページにページネーションを表示したいを参考に、if (!empty($the_query->max_num_pages) && 2 <= $the_query->max_num_pages) { \Framework\Helper::get_template_part('template-parts/archive/pagination'); }
を入れて、こちらのようなコードを書いてみましたが、ページネーションは表示されませんでした。
代わりに
paginate_links
を使ったこちらにページネーション部分を差し替えたところ、表示されました。しかし、せっかくなら前者の方法で、Snow Monkeyのデフォルトのページネーションを踏襲したいと考えています。
認識やコードが間違っている部分があるかと思いますので、ご指摘願えますでしょうか。
よろしくお願いいたします。♥ 0いいねをした人: 居ません2022年8月27日 4:46 PM #11007646行目で
wp_reset_postdata();
をしていますが、それだとページネーションを表示するためにクエリがリセットされてしまう(ページネーション実行時には普通の固定ページと判定されてしまう)ので、wp_reset_postdata();
を最後に実行するようにしてみたらどうでしょうか?♥ 0いいねをした人: 居ません2022年8月27日 5:08 PM #110080早速ご回答ありがとうございます。
順番を入れ替えて
wp_reset_postdata();
を最後にしてみましたが、症状は変わらないようです。
ちなみにpaginate_links
はwp_reset_postdata();
の後に記述してもページネーションは表示されるようです。ほかにお気づきの点がありましたらご教授お願いいたします。
♥ 0いいねをした人: 居ません2022年8月30日 9:46 AM #110155わかりました!
template-parts/archive/pagination.php
は、ページネーションを表示するかどうかの判定で$wp_query
を参照しています。なので $the_query というオリジナルのクエリではなくて$wp_query
を使わないといけません。コードがきれいかはわかりませんが、とりあえずこんな感じに書き換えると動きました。
〜上のコードは省略〜 wp_reset_postdata(); $wp_query = $the_query; // ページネーション if (!empty($the_query->max_num_pages) && 2 <= $the_query->max_num_pages) { \Framework\Helper::get_template_part('template-parts/archive/pagination'); } wp_reset_query();
2022年8月31日 9:45 PM #110256 -
投稿者投稿
- トピック「固定ページにページネーションを追加」には新しい返信をつけることはできません。