我正在为WordPress运行一个名为Category Posts Widget的插件:http://wordpress.org/extend/plugins/category-posts/
它使用while循环显示特定类别中所有帖子的名称。我希望得到它,以便在每个第二个输出上都有一个不同的类连接到li标签。
以下是插件的代码块:
// Post list
echo "<ul>\n";
while ( $cat_posts->have_posts() )
{
$cat_posts->the_post();
?>
<li class="cat-post-item">
<a class="post-title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php
if (
function_exists('the_post_thumbnail') &&
current_theme_supports("post-thumbnails") &&
$instance["thumb"] &&
has_post_thumbnail()
) :
?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail( 'cat_post_thumb_size'.$this->id ); ?>
</a>
<?php endif; ?>
<?php if ( $instance['date'] ) : ?>
<p class="post-date"><?php the_time("j M Y"); ?></p>
<?php endif; ?>
<?php if ( $instance['excerpt'] ) : ?>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php if ( $instance['comment_num'] ) : ?>
<p class="comment-num">(<?php comments_number(); ?>)</p>
<?php endif; ?>
</li>
<?php
}
echo "</ul>\n";
我只是想在输出列表中的每一秒上得到它,li有一个不同的类,所以cat-post-item-alt就是这样。
谢谢,
瓦德
答案 0 :(得分:0)
// ....
<? $type = ($type + 1) % 2; ?>
<li class="cat-post-item<?=$type ?>">
答案 1 :(得分:0)
以下是未经测试的,但它说明了基本原理。只需在循环的每个实例上切换一个布尔值。即使是帖子也会有类cat-post-item-even
,因此您不必修改样式表而不必要。
发现for循环可以用于简单增量以外的其他东西。
两条已编辑的行标记为。
// Post list
echo "<ul>\n";
/* edited */ for($even=false;$cat_posts->have_posts();$even=!$even)
{
$cat_posts->the_post();
?>
<!-- edited --> <li class="cat-post-item<?php if($even) echo " cat-post-item-even"; ?>">
<a class="post-title" href="<?php the_permalink(); ?>" rel="bookmark" title="Permanent link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a>
<?php
if (
function_exists('the_post_thumbnail') &&
current_theme_supports("post-thumbnails") &&
$instance["thumb"] &&
has_post_thumbnail()
) :
?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php the_post_thumbnail( 'cat_post_thumb_size'.$this->id ); ?>
</a>
<?php endif; ?>
<?php if ( $instance['date'] ) : ?>
<p class="post-date"><?php the_time("j M Y"); ?></p>
<?php endif; ?>
<?php if ( $instance['excerpt'] ) : ?>
<?php the_excerpt(); ?>
<?php endif; ?>
<?php if ( $instance['comment_num'] ) : ?>
<p class="comment-num">(<?php comments_number(); ?>)</p>
<?php endif; ?>
</li>
<?php
}
echo "</ul>\n";
答案 2 :(得分:0)
$counter=1;
for ($i=0; $i<=10; $i++) {
if ($counter%3===0) {
echo 'something else';
} else {
echo 'normal';
}
echo '<br />';
$counter++;
}