wp_pagenaviをいろんなページで使うときの件数の問題

Pocket

はじめに

  • ページングにwp_pagenaviを使っている。
  • いろんなページでページングを使っていて、ページによってページングの件数が違う。

そんなとき、件数の表示を変えるのにWP_Queryクラスを使ったり、無理やりwhileに条件追加しちゃったりするかと思いますが、そうするとページングがうまくいかなくてnot foundになってしまったり、そもそもページングのナビゲーションが表示されなくなってしまったりすると思います。

ナビゲーションを表示するにはWP_Queryのposts_per_pageに件数を指定すれば実現しますが、

設定の最大投稿数 > WP_Queryのposts_per_page && 最大投稿数 > 実際に投稿されている記事

 ↑未調査ですが多分

のときってページングが動かないんですよね。そんなときどうするか。

対処法

// ページによって最大投稿数を変更する
add_filter( 'parse_query', 'parse_query' );
function parse_query( $query ) {
  if ( is_category() ) {
    $query->set( 'posts_per_page', 3 );
  }
  if ( is_date() ) {
    $query->set( 'posts_per_page', 10 );
  }
  if ( is_front_page() ) {
    $query->set( 'posts_per_page', 5 );
  }
}

 こちらからは以上です。

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください