【WordPress】WP_Queryでページャー(ページ送り)を実装する方法
※本ページのリンクにはプロモーションが含まれています。
こんにちは、Ryohei(@ityryohei)です!
WP_Queryでquery_postsの同じようにページャーまたはページネーションを実装しようとすると、うまく表示されないケースがあります。query_postsと同様のコードでは必要な値が取得できないようなので、ページャーが表示された際のコードを記載します。
公式の関数リファレンスにも情報がありますので、詳しく知りたい方は以下のリンクからどうぞ!
WP_Queryでページャーを実装する
以下のコードを使用するとページャは表示されます。ページャーの出力形式はlistにしています。引数($args)のpost_type、post_per_pageやソート方法はご自身の環境のものに変更してお使いください!
<?php $paged = get_query_var('paged') ? get_query_var('paged') : 1; $args = array( 'post_type' => array('post'), 'post_status' => array('publish'), 'order'=>'desc', 'orderby'=>'post_date', 'paged' => $paged, 'posts_per_page' => 10 ); $query = new WP_Query($args); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); //ここにループ内の処理 endwhile; endif; wp_reset_postdata(); $big = 999999999; echo paginate_links(array( 'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))), 'show_all' => true, 'type' => 'list', 'format' => '?paged=%#%', 'current' => max(1, get_query_var('paged')), 'total' => $query->max_num_pages, 'prev_text' => '前へ', 'next_text' => '次へ', )); ?>
以上、WP_Queryでページャー(ページ送り)を実装する方法のご紹介でした!