Written by Kasumi

WordPressでカスタム投稿アーカイブ・タクソノミーページだけ記事の表示件数を変更したい

カスタム投稿アーカイブ・タクソノミーページだけ、記事の表示件数を変更したい。

WordPress管理画面の設定ページにある表示件数は変更したくない。(デフォルトの投稿タイプの表示件数は変更しない)

本記事ではこのような悩みを解決、実装方法について解説します。

functions.phpにコードを記述

<?php
//-----------------------------------------------------
// 【カスタム投稿アーカイブの表示件数を変更】
//-----------------------------------------------------
function change_posts_per_page($query)
{
  /* 管理画面,メインクエリに干渉しないために必須 */
  if (is_admin() || !$query->is_main_query()) {
    return;
  }
  if ($query->is_post_type_archive('カスタム投稿タイプ名')) { // カスタム投稿アーカイブ
    $query->set('posts_per_page', 18); // 表示件数
  }
  if ($query->is_tax('カスタム投稿タクソノミー名')) { // カスタム投稿タクソノミー
    $query->set('posts_per_page', 18); // 表示件数
}
add_action('pre_get_posts', 'change_posts_per_page');

カスタム投稿アーカイブ・タクソノミーページだけ記事の表示件数を変えるコード例です。

上記コードをfunctions.phpに記述します。

【カスタム投稿タイプ】・【カスタム投稿タクソノミー名】と文字列が入ってる箇所に任意の表示件数を変更したいカスタム投稿名を入れます。

上記箇所のすぐ下に任意の表示件数を入れます。(18となってる箇所)

以上で実装完了です。

まとめ

応用で、カスタム投稿以外にも個別に変更ができます。

例えばカテゴリページの表示件数を変更したい場合は本記事で紹介したchange_posts_per_page関数内に以下を追記すればOKです。

  if ($query->is_category()) { // カテゴリーページ
    $query->set('posts_per_page', 18); // 表示件数
  }

以上で解説を終わります。

目次

関連記事

WordPress

WordPressの記事検索にカテゴリ名・タグ名も含める方法

2022.05.15
4706
jQuery WordPress

【簡単に代替】Contact Form 7 Datepickerが使えなくなった?jQuery UIを使って日付選択を実装しよう

更新日:2022.09.09
7745
WordPress

WordPressで投稿機能からタグ表示を消す方法

2022.07.21
1952
WordPress プログラミング

【簡単wordpress】すべての投稿記事内にある同じURL・文字列を一括置換する方法【Search Regexプラグイン】

2022.02.08
5324