在wordpress循环中是否可以要求最少数量的结果?如果循环没有返回足够的帖子,那么你显示一个占位符?
基本上,我需要在网格中显示8个帖子。如果没有足够的帖子来填充所有8个空格,那么我想显示一个帖子应该是的灰色框。因此,如果只有6个帖子,则会有6个帖子框和2个灰色空盒子。好像我需要:
我只是不确定如何/在哪里添加正确数量的占位符。 这就是我所拥有的:
<?php $args= array(
'post_type' => 'beer',
'posts_per_page' => -1
);
$beer2_query = new WP_Query( $args ); if ( $beer2_query->have_posts() ) :
$count = $beer2_query->post_count;
$i = 1; ?>
<div class="row"
<?php while ( $beer2_query->have_posts() ) : $beer2_query->the_post(); ?>
<div class="col-sm-3">
<div class="card">
<h3><?php the_title(); ?></h3>
</div>
</div>
<?php $i++; endwhile; wp_reset_postdata(); ?>
<?php if ($count < 8) {
$placeholder_count = (8 - $count);
// how do I echo out placeholder boxes that equals the placeholder_count total?
} ?>
</div>
<?php endif; ?>
谢谢!
答案 0 :(得分:0)
而不是<?php if ($count < 8) { // add placeholders! } ?>
尝试<?php while($i >= 8) {// add placeholders!; $i++; }}
这样您就可以使用计算的帖子数量,并添加占位符,直到它等于8。
答案 1 :(得分:0)
不是在while循环之后使用if语句,而是可以用它替换它。循环仅在帖子计数小于8时运行,并且将运行8次和后计数之间的差异很多次。您也可以删除$ i计数器,因为它不会用作目的。
for ($x=0; $x < 8 - $count; $x++) {
// Insert placeholder
}