うさぎのイラスト

ネットアンサー55備忘録

web技術を書いていきます

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

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