我使用wordpress并使用以下内容获取最近3篇最新帖子:
<?php query_posts('showposts='.$latest_num.'&cat=-'.$featured_cat.','.$latest_ignore.''); ?>
<?php while (have_posts()) : the_post(); ?>
<li>
<div class="imgholder">
<a href="/wp-content/themes/twentyten/images/slide1.jpg" data-gal="prettyPhoto[featured]" title="<?php the_title(); ?>">
<img src="<?php echo get_post_meta($post->ID, 'thumbnail',true) ?>" width="275" height="145" alt="Post Image" class="postimg-s" />
</a>
</div>
<h4><?php the_title(); ?></h4>
<p><?php the_content('Read more...'); ?></p>
</li>
<?php endwhile; ?>
我想要做的是通过循环在第3次交互中向'last'
元素添加一个名为<li>
的类。
任何人都有任何想法我可以添加这个吗?
答案 0 :(得分:3)
在while循环之外设置一个计数器
$count = 1;
检查该计数器的模数并在需要时输出该类
<li <?php if(!$count % 3) echo 'class="last"; ?>>
在关闭循环之前递增你的计数器:
$count++;
}
或者,应用于您的代码:
<?php
$count = 1;
while (have_posts()) : the_post();
?>
<li <?php if(!$count % 3) echo 'class="last"; ?>>
<div class="imgholder">
<a href="/wp-content/themes/twentyten/images/slide1.jpg" data-gal="prettyPhoto[featured]" title="<?php the_title(); ?>">
<img src="<?php echo get_post_meta($post->ID, 'thumbnail',true) ?>" width="275" height="145" alt="Post Image" class="postimg-s" />
</a>
</div>
<h4><?php the_title(); ?></h4>
<p><?php the_content('Read more...'); ?></p>
</li>
<?php
$count++;
endwhile;
?>
模数条件的反直觉外观是,只要计数器可以被3整除,它就会返回0.
答案 1 :(得分:3)
替换
行<li>
与
<li <?php print have_posts() ? '' : ' class="last"' ?>>
have_posts()
只是打电话给$wp_query->have_posts()
检查a 循环计数器,看看是否有 帖子数组中剩余的帖子(source)
答案 2 :(得分:0)
李应该是李
<li <?php $iCounterLi++; ($iCounterLi==3)?'class="last"':''; ?>>
不要忘记在循环之前初始化$ iCounterLi