WordPressのTOPページと2ページで表示する投稿数を変更する。
WordPressの設定画面から何件ずつ表示するかという設定があるが、TOPページは20記事、2ページ目は25記事のようにページ毎で表示する記事数を変更したかったため、function.phpに以下を追加した。
define('PAGE_1ST', 25); // 1ページ目の件数 define('PAGE_2ND', 20); // 2ページ目以降の件数 function change_posts_paging($query) { // 管理画面は除外 if ( is_admin() ) return; // ホームのみ適用(カテゴリ・タグページだけなら、「is_archive()」) if ( $query->is_home() ) { $query->set( 'posts_per_page', PAGE_1ST); } $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1; if ($paged >= 2 && is_home()){ // 2ページ目以降の場合 $query->set('offset', PAGE_1ST + PAGE_2ND*($paged-2) ); $query->set('posts_per_page', PAGE_2ND); } } add_action( 'pre_get_posts', 'change_posts_paging' );
Comment