在 wordpress 循环中需要最小结果数?
Require minimum results count in wordpress loop?
是否可以在 wordpress 循环中要求最少数量的结果?如果循环 return 不够 posts,那么你显示一个占位符?
基本上,我需要在一个网格中显示 8 posts。如果 post 不足以填满所有 8 个空格,那么我想在 post 应该出现的位置显示一个灰色框。所以如果只有6个post,就会有6个post框和2个灰色的空框。看来我需要:
- 计算在循环中 return 编辑了多少 post
- 如果少于 8 post,则从 8
中减去该计数
- 在循环结束时添加 X 个占位符
我只是不确定 how/where 添加正确数量的占位符。
这是我得到的:
<?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; ?>
谢谢!
而不是<?php if ($count < 8) { // add placeholders! } ?>
尝试<?php while($i >= 8) {// add placeholders!; $i++; }}
这样您就可以使用计数的帖子数,并添加占位符直到它等于 8。
在while循环之后不用if语句,你可以用这个代替。如果 post 计数小于 8,则循环将仅 运行 并且将 运行 但是 8 和 post 计数之间的差很多倍。您也可以删除 $i 计数器,因为它没有任何用处。
for ($x=0; $x < 8 - $count; $x++) {
// Insert placeholder
}
是否可以在 wordpress 循环中要求最少数量的结果?如果循环 return 不够 posts,那么你显示一个占位符?
基本上,我需要在一个网格中显示 8 posts。如果 post 不足以填满所有 8 个空格,那么我想在 post 应该出现的位置显示一个灰色框。所以如果只有6个post,就会有6个post框和2个灰色的空框。看来我需要:
- 计算在循环中 return 编辑了多少 post
- 如果少于 8 post,则从 8 中减去该计数
- 在循环结束时添加 X 个占位符
我只是不确定 how/where 添加正确数量的占位符。 这是我得到的:
<?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; ?>
谢谢!
而不是<?php if ($count < 8) { // add placeholders! } ?>
尝试<?php while($i >= 8) {// add placeholders!; $i++; }}
这样您就可以使用计数的帖子数,并添加占位符直到它等于 8。
在while循环之后不用if语句,你可以用这个代替。如果 post 计数小于 8,则循环将仅 运行 并且将 运行 但是 8 和 post 计数之间的差很多倍。您也可以删除 $i 计数器,因为它没有任何用处。
for ($x=0; $x < 8 - $count; $x++) {
// Insert placeholder
}