我对PHP不太熟悉。我想在WP循环中插入一个条件语句,以便每隔三个帖子创建一个新的div,并将post插入到该div中。这是我到目前为止的代码:
<?php $x = 0; ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php if (($x == 0) || ($x % 3 == 0)) ?>
<div class="section group">
<div class="col span_1_of_3"> //column is 1/3 of the page
<?php the_content(); ?>
</div>
</div>
<?php $x += 1; ?>
<?php endwhile; else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
我正在用4个帖子测试它,而不是用前三个帖子创建一个三列部分,然后开始下一部分,我有四个单独的部分。可能是微不足道的错误,但我似乎无法弄明白!
答案 0 :(得分:0)
您需要更改逻辑,因为现在您在同一个区块中显示内容以及您的部分的打开和关闭。
除此之外,你还有一个错误:因为你的内部:
声明之后没有{
或if
,它只是一个空话。
您需要以下内容:
<div class="section group">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php if ($x > 0 && $x % 3 === 0): ?>
^ very important
</div>
<div class="section group">
<?php endif; ?>
<div class="col span_1_of_3"> //column is 1/3 of the page
<?php the_content(); ?>
</div>
<?php $x += 1; ?>
<?php endwhile; else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
</div>
现在,如果您的内部if
匹配并且条件确实有效,那么您只需关闭并打开一个新部分。