ちゃんと覚えておけよ?

忘れちゃいけない事のメモ、覚え書き

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

*