この記事にはプロモーションが含まれています。

【WordPress】アーカイブページで出力する表示件数を投稿タイプごとに設定する

【WordPress】アーカイブページで出力する表示件数を投稿タイプごとに設定する

WordPressでは投稿記事を一覧表示できるアーカイブページが用意されています。

アーカイブページで表示する件数は管理画面「設定」→「表示設定」→「1ページに表示する最大投稿数」で設定可能ですが、ここでの設定内容は、「投稿」、「すべてのカスタム投稿タイプ」で共有されています。

つまり、デフォルトでは投稿タイプごとに表示件数を設定することはできないということです。

これでも問題ないケースももちろんあるとは思いますが、逆に

ケケンタ

このカスタム投稿タイプでは表示件数を変えたいんだよな……

という場面もあるかと思います。

そこで今回は

アーカイブページで出力する表示件数を投稿タイプごとに設定する方法

をご紹介します。

ケケンタ

コピペで簡単にカスタマイズできるのでぜひお試しください!




ケケンタ

ケケンタのITブログでは、WebアプリPHPLaravel)やWeb制作WordPressコーディング)について情報を発信しています。
学習中の方や実務をされている方など多くの方にアクセスいただいていますので、ぜひほかの記事も参考にしてみてください!


運動不足、気になっていませんか?

もしプログラミング学習やお仕事で運動不足が気になっているなら
連続屈伸運動がおすすめです!

ボタンにカーソルを合わせるだけ
カウントダウンが始まるタイマーをご用意してみました!

ケケンタ

無理のない範囲で、ぜひ隙間時間に屈伸運動を取り入れてみて下さい!

タイマースタート

3:00

※運動不足だと連続3分で取り組んでもかなり息が切れます
(僕は加えて気分もちょっと悪くなりました……)
絶対にご無理の無い範囲でお取り組みください!


目次

【ソースコード】アーカイブページで出力する表示件数を投稿タイプごとに設定

以下のソースコードをfunctions.phpへ追記します。

カスタム投稿タイプ「products」のアーカイブページの表示件数だけ指定する

add_action( 'pre_get_posts', function( $query ) ) {
    // 「管理画面」や「メインクエリ以外」には適用しない
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    // カスタム投稿タイプ「products」の場合は1ページに「30件」表示する
    if ( $query->is_post_type_archive( 'products' ) ) {
        $query->set( 'posts_per_page', 30 );
        return;
    }
}

複数のカスタム投稿タイプの表示件数を指定したい場合

add_action( 'pre_get_posts', function( $query ) ) {
    // 「管理画面」や「メインクエリ以外」には適用しない
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }

    // カスタム投稿タイプ「products」の場合は1ページに「30件」表示する
    if ( $query->is_post_type_archive( 'products' ) ) {
        $query->set( 'posts_per_page', 30 );
        return;
    }

    // カスタム投稿タイプ「customer-voice」の場合は1ページに「20件」表示する
    if ( $query->is_post_type_archive( 'customer-voice' ) ) {
        $query->set( 'posts_per_page', 20 );
        return;
    }
}
ケケンタ

たったこれだけで特定のカスタム投稿タイプのアーカイブページでだけ記事の表示件数を指定することが可能です!

まとめ

WordPressはデフォルトで様々な機能やページを搭載しています。

しかし、ちょっとした個別調整などを行いたい場合は、今回のようにfunctions.phpにカスタマイズ用のソースコードを記述する必要があります。

今回ご紹介したソースコードではフィルターフックの1つであるpre_get_postsを利用していますが、このようにフィルターフックを活用することで柔軟なカスタマイズができます。

ご興味のある方はぜひご自身でも色々とお調べいただき、カスタマイズに挑戦してみて下さい。

ケケンタ

この記事が少しでもお役に立ったなら何よりです!

当ブログではWordPressやWeb制作、PHPに関する情報を発信しています。

ご興味のある方はぜひほかの記事もご覧いただけるとうれしいです。

WordPressのアーカイブページで出力する表示件数を投稿タイプごとに設定する方法のアイキャッチ画像

この記事が気に入ったら
フォローしてね!

この記事が良いと思ったらシェアしてね!

コメント

コメントする

CAPTCHA


目次