【WordPress】カスタム投稿タイプ毎にアーカイブページの表示件数を変更する方法

カスタム投稿タイプを作成した際に、ページごとにデザインが異なるというケースは多々あるかと思います。この記事ではカスタム投稿タイプ毎にアーカイブページの表示件数を変更する方法をご紹介します。ページネーションにもちゃんと対応します。

やりたいこと

例えば下記のようなカスタム投稿タイプがあったとします。

  • ブログ・・・blog
  • お知らせ・・・info
  • スタッフ紹介・・・staff

それぞれのアーカイブページの件数をブログは「5件」お知らせは「10件」スタッフ紹介は「9件」表示したいとします。

設定方法

functions.php に下記のように記述します。

function change_posts_per_page($query) {
  if ( is_admin() || ! $query->is_main_query() )
  return;
  if ( $query->is_post_type_archive('blog') ) {
    $query->set( 'posts_per_page', '5' );
  }
  if ( $query->is_post_type_archive('info') ) {
    $query->set( 'posts_per_page', '10' );
  }
  if ( $query->is_post_type_archive('staff') ) {
    $query->set( 'posts_per_page', '9' );
  }
}
add_action( 'pre_get_posts', 'change_posts_per_page' );

以上で完了です。上記作成に当たり下記サイトを参考にさせていただきました。

ページネーション(ページャー)の設置方法

ページネーションもコピペで簡単に設置できます。下記記事をご参考ください。

【コピペOK】WordPressにBootstrap4のページネーションを設置する方法【プラグイン無し・解説有り】

 

記事がお役に立ちましたらシェアお願いします!