実現したいこと
- ワードプレスの表示設定でトップページに選んだ固定ページにて、ページネーションのページを選択後、該当部分まで自動scrollさせたい。または横スライドさせたい
わけがあって、front-page.phpなどのテンプレートファイルには書けません
該当サイト
どなたかお助け下さい。
前提
wordpressにてelementorを用いて、固定ページにショートコードを読み込ませて、(pagination.phpというファイルを読み込ませています)
カスタム投稿(スラッグ名bunny)のページネーションを表示させています。
問題1
ページネーションの番号2や3をクリックすると該当ページには遷移するのですがページの一番上までscrollが戻ってしまい、カスタム投稿一覧のところまで自動でスクロールされないので困っています
該当のソースコード
pagination.php
1 2<?php 3// フロントページにページネーションつける場合はget_query_var('paged')ではなくget_query_var('page')にする!!! 4 $paged = (get_query_var('page')) ? get_query_var('page') : 1; 5 $the_query = new WP_Query( array( 6 'post_type' => 'bunny', 7 'post_status' => 'publish', 8 'paged' => $paged, 9 'posts_per_page' => 5, // 表示件数 10 'orderby' => 'date', 11 'order' => 'DESC' 12 ) ); 13 14// コンテンツ 15 if ($the_query->have_posts()) :?><?php 16 while ($the_query->have_posts()) : $the_query->the_post();?> 17<!-- ここまで自動スクロールさせたい --> 18<div class="pagination_top"> 19 <div class="flex"> 20<section class="weekly2"><?php the_title(); ?><!--投稿タイトル--></section> 21</div><!--flex--> 22</div> 23 24<?php endwhile;?><?php endif; ?> 25<!-- pagenation --> 26 27<div class="pagenation"> 28<?php 29if ($the_query->max_num_pages > 1) { 30 echo paginate_links(array( 31 'base' => get_pagenum_link(1) . '%_%', 32 'format' => 'page/%#%/', 33 'current' => max(1, $paged), 34 'mid_size' => 1, 35 'total' => $the_query->max_num_pages 36 )); 37} 38wp_reset_postdata();?> 39</div><!-- /pagenation --> 40 41<!-- <script> 42 43 jQuery(function(){ 44 45 setTimeout(function(){ 46 47 jQuery('.page-numbers').on('click',function(){ 48 const greenTop = jQuery('.pagination_top').offset().top; 49 jQuery("html").animate({scrollTop: greenTop}); 50 }); 51 52 },5000); 53}); 54 55 56 </script> -->
試したこと
setTimeout関数を使い、ページ番号クリックして数秒後にスクロールさせようと思いましたが、クリック→スクロールする→ページ遷移→上まで戻ってしまい意味がありません。
paginate_links関数の中にページネーション後に発動するイベントを指定したりするパラメータがあるかもしれないとも思い探しましたがありませんでした。
補足情報(FW/ツールのバージョンなど)
WordPress 6.2.2

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/06/07 05:37
2023/06/07 05:43
2023/06/07 06:54
2023/06/07 07:02