WordPressで記事一覧を出力する時に、ループの回数をカウントする方法をご紹介いたします。カウントされたループの総数を使って、ループの回数に応じて異なる処理を行うことができます。
WordPressで記事一覧のループの回数をカウントして記事数によって処理を変える方法
まずは、ループの回数をカウントするために、functions.phpに以下コードを追加します。
function loopPostCount(){ global $wp_query; return ($wp_query->post_count); }
ループ側では、以下のようにカウントした数値を使います。
<?php if(have_posts()): while(have_posts()): the_post(); if(loopPostCount() === 1): ?> ループの回数が1回の場合(記事が1つしかない場合) <?php else: ?> ループの回数が2回以上の場合(記事が2つ以上ある場合) <?php endif; ?>
「loopPostCount()」にはループの総数が入るので、「if(loopPostCount() === 1)」は”ループの回数が1回の場合”という条件分岐になります。
条件分岐を変えることで、色々な処理が可能ですね。
あとがき
上述した例のように、記事が1つしかない場合と2つ以上ある場合で処理を変えるパターンは、案件によってはあり得るかなと思います。
記事の数によってループの処理を変えたい時は、ぜひ試してみてください。