WordPressのアーカイブページの1ページ目の表示記事数を変更

カスタム投稿タイプが「news」のみのアーカイブページの1ページ目のみを16記事表示させて、
2ページ目から8記事ずつ表示させたいという特殊な場合でもfunction.phpに下記の記述を加えることで可能になります。

  // カスタム投稿タイプが「news」のときに表示件数を「16」に設定
    function change_posts_paging($query) {
      if ( is_admin() || is_page('news') || is_page('news') || is_term('news')) return;
        if ( get_query_var( 'post_type' ) == 'news' ) {
            $query->set( 'posts_per_page', 16 );
            $paged = get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1;

            if ($paged >= 2){ // 2ページ目以降 表示件数を8に
            $query->set('offset', 16 + 8*($paged-2) );
            $query->set('posts_per_page',8); // 
            }
        }
    }
    add_action( 'pre_get_posts', 'change_posts_paging' );

無限スクロールなどのWordPressプラグイン「Infinite Scroll」と組み合わせて使用すれば、
最初は16記事見せて、スクロールするたびに8記事ずつ読み込ませるといったことも可能になります。

admin

cl0606

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です