スキルアップを始める

【WordPress】メインループで表示する投稿の件数を制限する|posts_per_page

WordPress(ワードプレス)
メルマガ購読できます

簡単1ステップ!届いたメールの「フォローを確認」クリックでメルマガ登録!一緒にスキルアップを目指しましょう!

メインループで表示する投稿の件数を制限する(posts_per_page=X)

WordPressのメインループにおいて、表示する投稿の件数を制限するには、以下のようなコードで制限することができます。

<?php
// 表示件数の設定
$args = array(
   'posts_per_page' => 5 // 5件まで表示
);
$the_query = new WP_Query( $args );

// ループ
if ( $the_query->have_posts() ) :
   while ( $the_query->have_posts() ) :
      $the_query->the_post();
      <p><?php the_title(); ?></p>
   endwhile;
endif;

// クエリのリセット
wp_reset_postdata();
?>

または、以下のようにまとめることもできます。

<?php query_posts('posts_per_page=5'); ?>
<?php if ( have_posts() ) : while (have_posts()) : the_post(); ?>
<p><?php the_title(); ?></p>
<?php endwhile; endif;?>

カテゴリを制限する(cat=カテゴリーID)

特定のカテゴリーに絞り込む場合は、query_posts内にcatを追加して連結させてあげることで可能となります。

<?php query_posts('cat=カテゴリーID&posts_per_page=5'); ?>
<?php if ( have_posts() ) : while (have_posts()) : the_post(); ?>
<p><?php the_title(); ?></p>
<?php endwhile; endif;?>

まとめ

上記のコードでは、posts_per_pageパラメーターを使用して、表示する投稿の最大件数を5件に制限しています。WP_Queryクラスを使用して、クエリを新たに作成し、そのクエリを使用してメインループを実行しています。

また、wp_reset_postdata()関数を使用することで、メインループに影響を与えずにクエリをリセットすることができます。

Kindle Unlimited 会員は無料で購読できます
購読はこちら
Kindle Unlimited 会員は無料で購読できます
購読はこちら