luck-839037_1280

WordPressにおいてカスタム投稿タイプは超便利ですが同時に曲者でもあります。
カスタム投稿を一覧で表示することは多々ありますが、その表示件数もカスタムする方法があります。

「設定>表示設定>1ページに表示する最大投稿数」の数字を変更するとできます。

というのは周知の事実ですのでわざわざ記事にしません。
今回はここの設定は変えたくないけど、カスタム投稿のアーカイブの表示件数だけ変えたいわがままな皆さんのために記事を書きました。

というのも上記の「設定>表示設定>1ページに表示する最大投稿数」これを変えちゃうとすべての投稿のアーカイブ表示件数に影響するからです。
通常の投稿は10件、特定のカスタム投稿は20件、を実現するのが狙いです。

以下は、「magazine」とういうカスタム投稿タイプのアーカイブにて「20件」表示する記述です。
こちらを「function.php」に追記してください。

function change_posts_per_page($query) {
    if ( is_admin() || ! $query->is_main_query() )
        return;
    if ( $query->is_archive('magazine') ) { //カスタム投稿タイプを指定
        $query->set( 'posts_per_page', '20' ); //表示件数を指定
    }
}
add_action( 'pre_get_posts', 'change_posts_per_page' );

カスタム投稿タイプといえば「Custom Post Type UI(CPT UI)」というプラグインを利用している方が多いかと思います。
こちらの設定で「Settings>Has Archive」を「true」にするとカスタム投稿タイプのアーカイブを利用することができるようになります。
ちなみにオリジナルのアーカイブテンプレートを作る際は「archive-magazine.php」といった具合に作成可能です。

こちらのブログ様を参考にさせていただきました。
WordPressでコンテンツごとにアーカイブページの表示件数を変更するベストな方法