【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でページャー(ページ送り)を実装する方法のご紹介でした!