pre_get_postsのサンプル

利用シーン

  • 通常のループとは異なる表示件数でページ遷移したい場合など、通常ループを利用しつつ、改変したい場合はコチラを利用。
  • 通常のループをサブループで作ることは極力避ける
<?php
function change_posts_per_page( $query ) {
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }
    if ( $query->is_tax( 'タクソノミースラッグ', '' ) ) {
        $query->set( 'posts_per_page', '100' );
        return;
    }
}
add_action( 'pre_get_posts', 'change_posts_per_page' );

// 参考
// query_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】
// http://notnil-creative.com/blog/archives/1688