お問い合わせはコチラから

WordPressで投稿タイプごとにアーカイブ表示件数を変更する

サイト運営

WordPressを使っていて記事一覧(アーカイブ)の表示件数を変更したいことがあるかもしれません。そんな時に、テーマ側に設定があるはず!と思って探しても見つからない、なんで?ということはよくあることです。

アーカイブの記事の表示件数の設定はどこにあるのでしょうか?

答えは、Wordrpessの設定⇒表示のなかにあります。表示する記事数の数値を変更することで1ページ当たりの表示件数を変更できます。

しかし、この設定は1つしかないのです。

カスタム投稿タイプなどで投稿タイプを追加した時にも同じ設定が適用されます。それでは嫌だということは結構あります。

今までテーマ側で対応しているのを見たことがなかったので、簡単に変えられないのかな?と思ってましたが、検索するとあっさり答えが見つかったので、備忘録的にメモしておきます。

アーカイブごとに表示件数を変更する

参考サイトにはかなり詳しく書かれておりますが、以下のコードをコピペするだけでほとんどの場合、事足りると思います。

function change_posts_per_page($query) {
    if ( is_admin() || ! $query->is_main_query() )
        return;
 
    /* アーカイブページの時に表示件数を10件にセット */
    if ( $query->is_archive() ) {
        $query->set( 'posts_per_page', '10' );
    }
    /* ポストアーカイブの時に表示件数を30件にセット */
  if ( $query->is_post_type_archive() ) {
        $query->set( 'posts_per_page', '30' );
    }
    /* 検索ページの時に表示件数を20件にセット */
    if ( $query->is_search() ) {
        $query->set( 'posts_per_page', '20' );
    }
}
add_action( 'pre_get_posts', 'change_posts_per_page' );

カスタム投稿タイプのアーカイブごとに表示件数を変更する

では、特定のカスタム投稿タイプだけアーカイブ表示件数を変更したいときはどうしたらよいのでしょうか?

こちらのコードで対応できます。

カスタム投稿タイプのアーカイブの指定に、is_archive()を使ったコードを見かけましたが、is_post_type_archive()を使わないと、投稿とカスタム投稿タイプのどちらも共通の設定になってしまうので、注意しましょう。

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

まとめ

アーカイブ表示件数の変更は意外と需要のある機能だと思います。例えば、新着情報などでカスタム投稿タイプを追加した時に表示件数を減らしたい時とか、使えるTipsだと思います。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました