WordPressのトップページだけ最大投稿数を変更する方法

今回は、「WordPressのトップページだけ最大投稿数を変更する方法」について紹介します。

WordPress案件でページごとに最大投稿数を設定することもあるので、是非マスターしましょう!

WordPressのトップページだけ最大投稿数を変更する方法

WordPressでは、管理画面の「設定→表示設定」で記事の最大投稿数を設定することが出来ます。

しかし、表示設定で最大投稿数を設定してしまうと、全てのページに適応されてしまいます。

今回みたいに、トップページだけ最大投稿数を変更する場合は、「pre_get_posts」のアクションフックを使います。

「pre_get_posts」は特定の箇所で処理を実行することが出来るアクションフックです。

「pre_get_posts」は、基本的に関数の処理をまとめるファイルであるfunctions.phpに記述しましょう。

今回は、トップページだけ記事の最大投稿数を3件にしてみます。

add_action('pre_get_posts', 'my_pre_get_posts');
function my_pre_get_posts( $query ) {
    if ( $query->is_admin() || !$query->is_main_query() ) {
        return;
    }
    if ( $query->is_home() ) {
        $query->set('posts_per_page', 3);
        return;
    }
}

add_actionの第一引数にはフックさせたいアクション名を、第二引数には実行した関数名(自由に決めて良い)を記述します。

2~5行目では、管理画面かどうかを調べ、もし管理画面の場合は「my_pre_get_posts」をreturnで終了するようにします。

6~9行目では、トップページの時だけ記事の最大投稿数を3件にする処理を書きました。

もし記事ページにだけ変更を加えたい場合は、「is_single();」にしたらOKです。

そして、「posts_per_page」の数字を変更することで、最大投稿数を変更することも出来ますよ。

まとめ

以上が、WordPressのトップページだけ最大投稿数を変更する方法でした。

 

大阪のWEB制作会社で働くコーダー。コーディングにハマり、気づいたらWEB制作を仕事にしていました。現在は新規のWEBサイト制作やWordPressカスタマイズしたり、当技術ブログを運営しています。