ワードプレスで特定のカスタム投稿タイプや(カスタム)カテゴリーのアーカイブ(一覧)ページのみ表示する数を変える方法を解説いたします。

任意のカスタム投稿タイプや(カスタム)カテゴリーのアーカイブ(一覧)ページのみ表示する数を変える

この為のコードは下記のようになります。
※このコードはテーマのFunctions.phpや制作中のプラグイン等にコピペいただくと動作します。

function change_archive_showcount($query) {
    
    if ( is_post_type_archive( 'カスタム投稿タイプのスラグ' ) ) {
        $query->set('posts_per_page', 20);
    }
    
    if ( is_tax('(カスタムタクソノミー)カテゴリーのスラグ') ) {
        $query->set('posts_per_page', 30);
    }
    
    if ( is_tag('タグのスラグ') ) {
        $query->set('posts_per_page', 40);
    }
    
    return $query;

}

add_filter('pre_get_posts','change_archive_showcount');

このコードは、ワードプレスの組み込み関数であるadd_filter(‘pre_get_posts’ で投稿が取得されるまでに処理を割り込ませて取得投稿数を変えています。

カスタム投稿タイプのスラグ 、 (カスタムタクソノミー)カテゴリーのスラグ 、 タグのスラグ の部分は投稿リスト一覧の数を変更したい任意のスラグに書き換えます。

※ちなみに is_tax()、 is_tag()と何も指定しない場合は、全カスタムタクソノミーと全タグのアーカイブページで表示数が変わります。is_category()にすると全カテゴリーで表示数が変わります。

$query->set(‘posts_per_page’, 表示数);

で、表示数の部分に設定された数字の投稿一覧を生成するようにします。

※この表示数は元々ワードプレスの管理画面の設定>表示設定>1ページに表示する最大投稿数 の数値が入っていますので、上記PHPコードでこれを書き換えて表示数を途中で変えている形になります。

ご参考になりましたら幸いです。

WordPress ワードプレスのテーマやプラグインの修正・カスタマイズ、制作のご依頼ご相談はWPドクターまでお気軽にお送りください