我正在运行一个wordpress if while语句,并且希望我的项目以列的格式显示。
我目前使用的是960.gs,这是您的标准960网格系统,默认情况下会将10px padding添加到左侧和右侧,只需传递一个alpha或omega类,您就可以摆脱这些。
如何让php为第一次添加alpha和第四次添加omega执行语句?
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="grid_4">
<?php $wp_query->is_home = false; ?>
<div class="entry">
<h3 style="margin-bottom:10px;"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<?php //the_excerpt() ?>
</div>
</div>
<?php endwhile; endif; ?>发布于 2010-11-03 21:56:24
也许可以试试这样的东西。我不确定你说的每一天和每四天是什么意思,所以我按照你能看到的方式做了。你应该能够自己定制它。
<?php $counter = 0; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php
$div = '<div class="entry';
if ($counter % 4 == 0)
$div .= " alpha";
else if($counter % 4 == 3)
$div .= " omega";
echo $div . '">';
?>
<div class="grid_4">
<?php $wp_query->is_home = false; ?>
<div class="entry">
<h3 style="margin-bottom:10px;"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<?php //the_excerpt() ?>
</div>
</div>
<?php $counter++; ?>
<?php endwhile; endif; ?>发布于 2010-11-03 21:55:48
试试这个:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="grid_4">
<?php $wp_query->is_home = false; ?>
<div class="entry <?php if (!($i++ % 4)) { ?>alpha<?php } ?> <?php if (!(($j++)+1 % 4)) { ?>omega<?php } ?>">
<h3 style="margin-bottom:10px;"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
<?php //the_excerpt() ?>
</div>
</div>
<?php endwhile; endif; ?>发布于 2010-11-03 22:00:22
看起来像是我最近看到的事情的重演。(这不是你的错,它的名字很糟糕,你也无法搜索到它)。Help needed improving a foreach loop
我认为您要查找的内容应该更准确地描述为class=alpha on row 4k+1,class=omega on row=4k
我不熟悉您的if/while语法,而且嵌入式PHP让我有点不知所措。但我认为你想做的是:
在while循环之前将计数器初始化为0 ($i = 0)。在循环结束时递增它($i++)
我不知道你想把这些类放在哪里,但是把if ($i%4==1) class="alpha“和if(i%4==0) class="omega”(添加适当的php标签,因为某些原因它们不适合我)。
https://stackoverflow.com/questions/4087639
复制相似问题