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】URL設定を間違えて管理画面にログイン出来ない。【即解決】

2022.06.13
300
WordPress

【WordPress】削除した記事URLが勝手にリダイレクトされる原因・対処方法

2022.07.04
611
WordPress プログラミング

【ワードプレス】親子カテゴリ・親子ターム順にリンクリストを自動で表示する方法

更新日:2022.05.31
1174
WordPress プログラミング

【ワードプレス】記事の公開日・更新日が同じとき、更新日を非表示にする方法

2020.06.25
381