log

おぼえがき


たんぶらにのこってたメモをこっちに移動

WordPressでホームやアーカイブ毎に表示条件を変える(is_main_query と pre_get_posts フック)

ホームや特定のアーカイブページにおいて、表示条件(件数や並び順など)を変えたい

月別アーカイブの記事表示件数が20件毎なのが物凄く不便だったので↑のURLを参考にfunctions.phpに以下の行を追加。

//一部のカテゴリだけ表示件数を変える
add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' ); // pre_get_postsにフック
// フック時に使う関数
function foo_modify_query_exclude_category( $query ) {
if (!is_category( '414' ) && $query->is_year() ) //お気に入りカテゴリ以外/年表示の時
$query->set( 'posts_per_page', '100'); // 100件ずつ表示
}


ほんとは月表示の方も件数変更カテゴリに入れたかったんだけど上手く出来なかったのでとりあえず年表示だけで。

 ← ぽちっと押してもらえると励みになります