wordpressのプラグインを用いてこちらのサイト(https://wpwand.com/2016/11/extends-wordpresspopularposts-class/)を参考にして
php
<?php global $options; $period = 'all'; $options = [ 'range' => $period, // 集計する期間(weekly,monthly,all) 'order_by' => 'views', // 閲覧数で集計(comments(コメント数で集計),avg(1日の平均で集計)) 'post_type' => 'post', // ポストタイプを指定(post,page,カスタムポスト名) 'title_length' => '25', // 表示させるタイトル文字数 'excerpt_length' => '55', // 抜粋文字数 'stats_comments' => '0', // コメント数表示(1 or 0) 'limit' => 999999999, // 表示数 'stats_views' => '1', // 閲覧数表示(1 or 0) ]; $q = new WPP_Query($options); $my_posts = $q->get_posts(); ?> <ul class="wpp-list"> //ループの中身 </ul> <?php $max_num_pages = $my_posts->max_num_pages; responsive_pagination($max_num_pages);
functions.php
function responsive_pagination($pages = '', $range = 4) { $showitems = ($range * 2) + 1; global $paged; if (empty($paged)) $paged = 1; //ページ情報の取得 if ($pages == '') { global $wp_query; $pages = $wp_query->max_num_pages; if (!$pages) { $pages = 1; } } if (1 != $pages) { echo '<ul class="pagination" role="menubar" aria-label="Pagination">'; //先頭へ if ($paged !== 1) { echo '<li class="first"><a href="'.get_pagenum_link(1).'"><span>First</span></a></li>'; } //1つ戻る if ($paged !== 1) { echo '<li class="previous"><a href="'.get_pagenum_link($paged - 1).'"><span>Previous</span></a></li>'; } //番号つきページ送りボタン for($i=1; $i <= $pages; $i++) { if(1 != $pages &&(!($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems)) { echo ($paged == $i)? '<li class="current"><a>'.$i.'</a></li>':'<li><a href="'.get_pagenum_link($i).'" class="inactive" >'.$i.'</a></li>'; } } //1つ進む if ($paged !== (int)$pages) { echo '<li class="next"><a href="'.get_pagenum_link($paged + 1).'"><span>Next</span></a></li>'; } //最後尾へ if ($paged !== (int)$pages) { echo '<li class="last"><a href="'.get_pagenum_link($pages).'"><span>Last</span></a></li>'; } echo '</ul>'; } }
これにページネーションをつけようとしたのですが、ページネーションが表示されません。
元々はプラグインに用意されているwpp_get_mostpopular();で表示していたのですが、これだとhtmlタグまで含まれていて不便だったので、WPP_Query()を使っています。
追記:
get_postsにページネーションを付ける方法を調べども、query_postsやWP_Queryを使ってwhile文でループを回しているものしか出てこなく困っています。
WPP_queryについて詳しいことが書かれたものが見つからないので、この形のままページネーションを付けたいです。
回答1件
あなたの回答
tips
プレビュー