こんにちは!今回はWordPress小技集シリーズ –PageNaviを固定ページで使う–をやってみたいと思います。

記事のページャーを簡単に表示してくれるプラグイン「PageNavi」ですが、
固定ページで使うと上手く表示されません。。。

サクッと実装

どうしてこうなるのかといった所は別の方々が沢山紹介してもらえているので割愛。。。
サクッとコピペで動かせるコードをご紹介です。

<?php
  $paged = get_query_var('paged')? get_query_var('paged') : 1;

  $args = array(
    'post_type' => 'post',
    'posts_per_page' => 3,
    'paged' => $paged,
  );

  $myposts = new WP_Query($args);

  if($myposts->have_posts()): while($myposts->have_posts()): $myposts->the_post();
?>

// 内容

<?php
  endwhile; endif;
  wp_reset_postdata();
?>

<?php
  if(function_exists('wp_pagenavi')) {
    // サブクエリを引数で渡してあげる
    wp_pagenavi(array('query' => $myposts));
  }
?>

ポイントとしては、現在どのクエリを利用しているかを判別した上で、PageNaviの引数に渡してあげるという所です!

引数の中身を「$myposts」だけで書いてある記事もあったのですが、ボクの環境では動作しませんでした。
「’query’ => $myposts」という形で渡してあげると大丈夫でしたので、バージョン?環境?によるのかもしれません。。。

といった感じで今回もサクッと実装、Wordpress小技集でした!