ワードプレスのメインインデックステンプレートの記述の仕方について教えて下さい。


<?php $posts = get_posts('numberposts=3&category=1'); foreach($posts as $post) : setup_postdata($post); ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p>
<?php endforeach; ?>

としていますが、三件目の記事の場合だけPタグにIDを振るにはどのように記述すれば宜しいでしょうか。

理想の出力
<p><a href="1.html" rel="bookmark">記事1件目</a></p>
<p><a href="2.html" rel="bookmark">記事2件目</a></p>
<p id="End"><a href="3.html" rel="bookmark">記事3件目</a></p>

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2011/02/18 09:42:22
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:rouge_2008 No.1

回答回数595ベストアンサー獲得回数351

ポイント35pt

以下のようにカウントして、条件分岐で処理を分けてみてはいかがでしょうか?

<?php
$posts = get_posts('numberposts=3&category=1');
$i=0;
foreach($posts as $post) : setup_postdata($post); ?>
<?php if($i != 2) : ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p>
<?php else : ?>
<p id="End"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p>
<?php endif; ?>
<?php $i++; ?>
<?php endforeach; ?>

※上記は全部で3件取得しているので、条件判定で「$i != 2」としていますが、もし実際に取得している件数が異なる場合は、件数から1を引いた数を指定してください。

(5件取得している場合は「$i != 4」)

id:hanako393 No.2

回答回数1142ベストアンサー獲得回数87

ポイント35pt
<?php $g_post_ct=0; ?>
<?php $posts = get_posts('numberposts=3&category=1'); foreach($posts as $post) : setup_postdata($post); ?>
<?php $g_post_ct++; ?>
<?php if($g_post_ct ==3){ ?>
<p id="End"><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p>
<?php }else{ ?>
<p><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></p>
<?php } ?>
<?php endforeach; ?>

このような感じです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません