ページ毎に表示件数を設定する

pre_get_postsアクションフックを利用してページの種類毎に表示件数を設定する

表示件数は管理画面の設定、表示設定より設定できるが、どのページでも同じ件数になるので、ページの種類によって表示件数を個別に設定したい。

functions.phpに設定

  • // ページ毎に表示件数を設定する
  • function change_posts_per_page($query) {
  •   if ( is_admin() || ! $query->is_main_query() )
  •       return;
  •   // アーカイブページでは表示件数を14件に設定
  •   if ( $query->is_archive() ) {
  •       $query->set( 'posts_per_page', '14' );
  •   }
  •   // 検索ページでは表示件数を5件に設定
  •   if ( $query->is_search() ) {
  •       $query->set( 'posts_per_page', '5' );
  •   }
  • }
  • add_action( 'pre_get_posts', 'change_posts_per_page' );

条件分岐

http://wpdocs.osdn.jp/%E6%9D%A1%E4%BB%B6%E5%88%86%E5%B2%90%E3%82%BF%E3%82%B0

ページ上部へ