固定ページにページネーションを追加

0
いいねをした人: 居ません
  • このトピックには4件の返信、2人の参加者があり、最後にアバター画像genkiにより1年、 7ヶ月前に更新されました。
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #110064
    アバター画像genki
    参加者
    2

    【お使いの 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
    いいねをした人: 居ません
    #110076
    キタジマ タカシ
    参加者
    2249

    46行目で wp_reset_postdata(); をしていますが、それだとページネーションを表示するためにクエリがリセットされてしまう(ページネーション実行時には普通の固定ページと判定されてしまう)ので、wp_reset_postdata(); を最後に実行するようにしてみたらどうでしょうか?

    0
    いいねをした人: 居ません
    #110080
    アバター画像genki
    参加者
    2

    早速ご回答ありがとうございます。

    順番を入れ替えてwp_reset_postdata();を最後にしてみましたが、症状は変わらないようです。
    ちなみにpaginate_linkswp_reset_postdata();の後に記述してもページネーションは表示されるようです。

    ほかにお気づきの点がありましたらご教授お願いいたします。

    0
    いいねをした人: 居ません
    #110155
    キタジマ タカシ
    参加者
    2249

    わかりました!

    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();
    1
    いいねをした人:
    #110256
    アバター画像genki
    参加者
    2

    なんと、そういうことでしたか!
    共有いただいた上記コードに加えて、頭にglobal $wp_query;でグローバル宣言をしたら、表示されました!

    ご丁寧にありがとうございます。
    大変助かりました。

    クローズさせていただきます。

    1
    いいねをした人:
5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • トピック「固定ページにページネーションを追加」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。