カウント開始を条件分岐

情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。

一覧をリストタグで表示する際、4件ずつ ul で括るというようなことはよくあるが、サイト全体が下から上へスクロールして表示という仕様なため、例えば投稿が10件あれば、上から2・4・4 とならなければならない。
そこで、
wp_count_posts(‘投稿タイプ名’)->publish;
で投稿数を求め、これを4で割って、余りの数によってカウントを開始する数字を変更することにした。
投稿が10件の場合、余りが2で、カウントを3から始めれば、2件表示したところでカウントが4になって、ここで ul を閉じて、次の ul を開始するという具合。

また、4件の1ブロックごとに上へスクロールするアンカーリンクが要るので、カウント4の倍数ごとに別のカウントを付けて、1ブロックごとにそこでのカウントからマイナス1のカウントへリンク、とした。

さらに、どうしても最後に空の ul が出来てしまうので、カウント4の倍数ごとの条件分岐を
if ($count % 4 == 0 && $the_query->current_post !== $the_query->post_count – 1) とした。

今回、ページングはなしだったので、1ページ目かどうかの分岐は書かなかったけど。