以下在循环中产生2个帖子,周围的div row-fluid。然后它创建了另外2个帖子。为什么是这样? 编辑:上面的代码按要求:
<?php get_header(); ?>
<section class="clearfix" id="home">
<div class="row-fluid">
<?php $count = 1; ?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="span4">
<div class="wrap-title">
<div class="position">
<div class="title"><?php the_title();?></div>
<div class="tags"><?php echo $cats; ?> </div>
</div>
</div>
</div>
<?php if($count == 2) {
echo '</div>';
}?>
<?php $count++; ?>
<?php endwhile; ?>
我在这里发布了与wordpress相关的内容,因为我预计它会出现PHP语法错误,可能是count变量或者row-fluid div所在的位置。
答案 0 :(得分:1)
虽然我会以不同的方式创建代码,但我认为解决问题的方法是将代码修改为:
<?php get_header(); ?>
<section class="clearfix" id="home">
<?php $count = 1; ?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php if($count % 2 == 0) {
<div class="row-fluid">
}?>
<div class="span4">
<div class="wrap-title">
<div class="position">
<div class="title"><?php the_title();?></div>
<div class="tags"><?php echo $cats; ?> </div>
</div>
</div>
</div>
<?php if($count % 2 == 0) {
echo '</div>';
}?>
<?php $count++; ?>
<?php endwhile; ?>
修改强>
你说它也会产生2个帖子 - 这就是为什么你会在前两个帖子之后添加</div>
,之后你将继续打印。解决方案是使用上面的代码 - 使用%
或打印只有两个帖子使用此代码:
<?php get_header(); ?>
<section class="clearfix" id="home">
<div class="row-fluid">
<?php $count = 1; ?>
<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
<div class="span4">
<div class="wrap-title">
<div class="position">
<div class="title"><?php the_title();?></div>
<div class="tags"><?php echo $cats; ?> </div>
</div>
</div>
</div>
<?php if($count == 2) {
break;
}?>
<?php $count++; ?>
<?php endwhile; ?>
</div>
但上述代码可以优化,不会搜索所有帖子,但它应该按原样运行。