うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

メインクエリーに追加条件を設定する pre_get_posts

-2015年05月27日-
query_postsを使うといったんメインクエリーを消して、新しくデータベースからデータを取得していることになる。オリジナルのメインクエリーを残して、条件を付加させていく方法がこのpre_get_postsである。基本的にはfunctions.phpに書き込みます。試しにアーカイブで1ページに表示される件数を5件にするを記述します。
function change_posts_per_page($query) {
    if ( is_admin() || ! $query->is_main_query() )
        return;
 
    if ( $query->is_archive() ) {
        $query->set( 'posts_per_page', '5' );
    }
}
add_action( 'pre_get_posts', 'change_posts_per_page' );
参考URLnotnil creation weblog
参考のコダック(他のパラメーター設定について)