[WordPress] ページごとに記事の表示件数を変えたい
やりたいこと
- アーカイブページの表示件数は、ダッシュボードで設定した値で決まります
- が、あるカテゴリー、カスタム投稿、タクソノミーのアーカイブページは表示件数を変えたいということもあります
- そんなときは、pre_get_postsを利用してクエリの書き換えを行うことで件数の切り替えができます
サンプルコード
function reset_post_per_page($query) {
if( is_admin() || !$query->is_main_query() ) {
return;
}
if( $query->is_category('news') ) {
$query->set('posts_per_page', 6);
}
if( $query->is_post_type_archive('product') ) {
$query->set('posts_per_page', 9);
}
if( $query->is_tax('bag') ) {
$query->set('posts_per_page', 12);
}
}
add_action('pre_get_posts', 'reset_post_per_page');
仕組み、解説、補足など
- setする項目を変えれば、表示件数以外の条件も切り替えできます
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。