初めまして。
ワードプレスの記事ループで、ループ内の○○番目のタグ/classを変更などはググれば見つかるのですが、
ループ外のタグやclassを変更する方法がわかりません。
具体的にやりたい事としては
1件目の記事の時は<ul class="a">
2件目の記事の時は<ul class="b"> ※class="a"からclass="b"に切り替わる
3件目以降は<ul> ※class="b"からclassなし切り替わる
イメージとしては以下のような形ですが、どのようにプログラムを書けばよいのかわかりません。
<?php if(have_posts()): ?> <?php $counter++; if ($counter <= 1){ echo '<ul class="a">'; }elseif($counter <= 2){ echo '<ul class="b">'; }else{ echo '<ul>'; } while(have_posts()): the_post(); ?> <li></li> <?php endwhile; ?> <?php endif; ?> </ul>
どなたか正しいコードをご存じであれば教えて頂けませんでしょうか。
お手数おかけしますがよろしくお願い致します。
以下補足説明になります。
ループの中と外は以下のようなイメージになります。
<!-- ループの外 --> <?php if(have_posts()): ?> <?php while(have_posts()): the_post(); ?> <!-- ループの中 --> <?php endwhile; ?> <?php endif; ?> <!-- ループの外 -->
ループの中は当然ながら記事などの繰り返しになり、ループの外は<div>などで囲ってstaticなものとなります。そのループの外にある<div>を○○件目の時にclassを付与したいという事です。
例えば記事のループ処理で<ul></ul>タグなどを使用した場合、通常<ul></ul>は固定された状態となります。今回は<ul>を○○件目の時、class=""を付ける、などとしたいです。
<ul>(←1件目の時<ul class="a">,2件目の時<ul class="b">に切り替え,3件目以降<ul>に切り替え) <li></li> </ul>以下のように並ぶのではなく、<ul>だけを切り替えたいという事です。
<ul class="a"> <li></li> </ul> <ul class="b"> <li></li> </ul> <ul> <li></li> </ul>
上手く説明できず申し訳ございません。