情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
一覧を表示する際、サムネイル付きでフロートさせる場合など、1つずつ左寄せ右寄せ、とか、4つずつ clearfix で括るとかに必要なカウントの付け方のまとめ。
while 文の場合、while の前で初期化 $post_count = 1; endwhile の前で1つプラス $post_count++; foreach 文の場合も理屈は同じ。
分岐は $post_count == 2 、$post_count >= 2 、$post_count % 4 == 0 など
4つずつ clearfix
<?php $post_count = 1; echo '<div class="clearfix">' . "n"; ?> <?php while (have_posts()) : the_post(); ?> <?php the_content(''); ?> <?php if ( $post_count % 4 == 0 && $post_count != 1 ) { echo '</div>' . "n" . '<div class="clearfix">' . "n"; } ?> <?php $post_count++; ?> <?php endwhile; ?> <?php echo '</div>' . "n"; ?>
投稿の間にボーダーを出したいが、一番下はボーダーなしにしたいので、投稿の2つ目から border-top のクラスを付ける
if ( $post_count !=1 ) { echo ‘ class=”xxxx”‘; }
左寄せ要素の4つ目だけマージンなしのクラス
if ( $post_count % 4 == 0 ) { echo ‘ class=”xxxx”‘; }
2つ目まで表示して、3つめ以降は開閉式。投稿の3つ目で開閉式にする部分を括る要素とトリガーになる見出しを表示(jQuery.collapseを利用)、ループの最後で投稿が3つより多くある時に閉じタグを表示。
<?php if (have_posts()) : $post_count = 1; while (have_posts()) : the_post(); ?> <?php if ( $post_count==3 ) { ?><div class="hide"><h2 class="trigger"></h2><div class="open"><?php } ?> <div class="post"> <h2 id="<?php echo $post->ID; ?>"><?php the_title(); ?></h2> <span class="date"><?php the_time('Y.m.d'); ?></span> <?php the_content(); ?> </div> <?php $post_count++; endwhile; if ( $post_count>3 ) { echo ' </div></div>'; } ?> <?php endif; ?>