2017.08.22
2017.09.08
WordPress
WordPressの投稿ループの中で連番をカウントする方法
WordPressの投稿ループの中で、項目に連番を表示させたいときがあります。例えばサイドバーで新着記事の表示に新着順として数字を添えたいときや、ランキング順位を表示する際のランク数部分などです。動的に表示される項目に対して静的に一つづつ数字を添えるのは現実的ではく、余計なソースを増やすことにもつながります。そこで今回はphpのループを使って、項目内に連番を表示させる方法をご紹介します。
phpの記述
<?php if (have_posts()): $count=1; // ループの前に最初の数字を代入 while (have_posts()) : the_post(); echo $count; // 数字を表示 $count++; endwhile; // 次のループの前に数字を増やす endif; ?>
ループの回数だけ、数字が加算されて表示されます。
数字の桁数を合わせる
上記の方法だと数字は8
9
10
…と数字の桁数を揃えてくれません。これを08
09
10
…と揃えて表示する方法があります。記述は以下です。
<?php $count = 1; $count = sprintf("%02d",$count); // 一桁を二桁に echo $count; // 01を出力 ?>
数行の記述で実現できるので、必要になったときに上手く導入してみてください。