我正在开发wordpress query_posts。我想在索引页面上显示12个帖子,连续3个项目。所以我想在每行的第一项上有一个“清楚:两个”的CSS。我该怎么办呢?
<?php query_posts(array('showposts' => 9, 'post_parent' => $post->ID, 'post_type' => 'page', 'order' => 'ASC')); ?> <div> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div> <!-- clear class on each 4th item --> <h2><?php the_title(); ?></h2> <?php the_content(); ?> </div> <?php endif; ?> </div> <?php wp_reset_query(); ?>
答案 0 :(得分:4)
<?php query_posts(array('showposts' => 9, 'post_parent' => $post->ID, 'post_type' => 'page', 'order' => 'ASC')); ?>
<div>
<?php $i = 0; $attr = " class='clear_float'"; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div<?php if(($i++)%3 == 0) {echo $attr;} ?>> <!-- clear class on each 4th item -->
<h2><?php the_title(); ?></h2>
<?php the_content(); ?>
</div>
<?php endif; ?>
</div>
<?php wp_reset_query(); ?>
我添加了两行。
<?php $i = 0; $attr = " class='clear_float'"; ?>
和
<div<?php if(($i++)%3 == 0) {echo $attr;} ?>> <!-- clear class on each 4th item -->
=====更新=====
要添加第3项课程,我建议为所有项目添加课程,以简化和更多控制
要做到这一点,在循环之前:
$i = 0;
在循环中的div
内:
<div class="item-<?php echo (($i++) % 3) + 1 ?>">
因此,对于每一行,第一项的class = item-1
,第三项的class = item-3
答案 1 :(得分:2)
<?php
$counter = 0;
if (have_posts() ....): the_post(); ?
$class = ((++$counter % 3) == 0) ? ' class="clearme"': '';
?>
<div<?php echo $class ?>> <!-- clear.... -->
...
将您的计数器初始化为零。将其递增1,除以3并检查余数是否为0(暗示它是3的偶数倍),在这种情况下,您设置清算类/样式。用更简洁的代码:
$counter = $counter + 1;
if ($counter > 3) {
$counter = 0;
}
$remainder = (int)($counter / 3)
if ($remainder == 1) {
// will be 1 when $counter is 3
$class = ' class="clearme"';
} else {
$class = '';
}