这是我的wordpress帖子的一个例子。我想在<li>
类似 <li class='lastli'>
<ul class="tabs">
<?php
global $post;
$myposts = get_posts('numberposts=3');
foreach($myposts as $post) :
setup_postdata($post);
?>
<li><a href="#"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>
我想要的结果如下:
<ul>
<li>Title 1</li>
<li>Title 1</li>
<li class='lastli'>Title 1</li>
<ul>
无序列表的最后一个将是<li class='lastli'>
。让我知道怎么做?
答案 0 :(得分:3)
使用for循环
<ul class="tabs">
<?php
global $post;
$myposts = get_posts('numberposts=3');
$nposts = count($myposts);
for($i=0;$i<$nposts;$i++):
$post = $myposts[$i];
setup_postdata($post);
?>
<li<?php if ($i==$nposts-1):?> class='lastli'<?php endif;?>><a href="#"><?php the_title(); ?></a></li>
<?php endfor; ?>
</ul>
注意:在循环之前计算数组大小是很好的做法,否则php会在循环的每一轮评估它
答案 1 :(得分:1)
<ul class="tabs">
<?php
global $post;
$myposts = get_posts('numberposts=3');
$nposts = count($myposts);
$odd_even_class = array('odd_class', 'even_class');
for($i=0;$i<$nposts-1;$i++):
$post = $myposts[$i];
setup_postdata($post);
?>
<li <?php echo $odd_even_class[($i+1)%2];?>><a href="#"><?php the_title(); ?></a></li>
<?php
endfor;
$post = $myposts[$i];
setup_postdata($post);
<li class='lastli'><a href="#"><?php the_title();?></a></li>
</ul>
您不需要条件声明:)
答案 2 :(得分:0)
<ul class="tabs">
<?php
global $post;
$myposts = get_posts('numberposts=3');
$i = 0;
for ($i = 0; $i < count($myposts); $i++) {
$post = $myposts[$i];
setup_postdata($post);
?>
<li <?= ($i==count($myposts)-1)?"class='lastli'":"" ?>><a href="#"><?php the_title(); ?></a></li>
<?php } ?>
</ul>