你如何限制while循环中显示的帖子数量?

时间:2016-12-20 05:37:24

标签: php wordpress while-loop

所以,我一直在寻找并尝试不同的方法,但我似乎无法限制显示的一些帖子。有人可以帮忙吗?

<?php while( $loop->have_posts() ) : $loop->the_post(); ?>

<div class="portfolio-item <?php the_field('category'); ?> <?php the_field('thumbnail_size'); ?>">
  <div class="portfolio-wrapper">
    <div class="portfolio-img-wrap" data-background="<?php the_field('image'); ?>"></div>
    <div class="portfolio-overlay"></div>
    <div class="portfolio-caption">
      <h6 class="portfolio-title"><?php the_title(); ?></h6><span class="portfolio-subtitle"><?php the_field('category'); ?></span>
    </div>
  </div>
  <a class="portfolio-link" href="portfolio-single.html"></a>
</div>

<?php endwhile; ?>

3 个答案:

答案 0 :(得分:0)

设置if语句不那么难:) 然后保存然后信息在什么时候开始和何时休息然后你有它:D

答案 1 :(得分:0)

  

您可以添加计数变量并在需要时突破循环。   请参阅以下代码

$count = 0;
<?php while( $loop->have_posts() ) : $loop->the_post(); ?>
$count++;
<div class="portfolio-item <?php the_field('category'); ?> <?php the_field('thumbnail_size'); ?>">
  <div class="portfolio-wrapper">
    <div class="portfolio-img-wrap" data-background="<?php the_field('image'); ?>"></div>
    <div class="portfolio-overlay"></div>
    <div class="portfolio-caption">
      <h6 class="portfolio-title"><?php the_title(); ?></h6><span class="portfolio-subtitle"><?php the_field('category'); ?></span>
    </div>
  </div>
  <a class="portfolio-link" href="portfolio-single.html"></a>
</div>
if($count == 10){
break;
}

<?php endwhile; ?>

答案 2 :(得分:0)

她显然是错的。

while循环显示您获得的所有结果。如果你想限制你应该改变提取帖子而不是while循环的语句。

否则你将获取x个帖子并仅输出例如10 ...这是一个性能因素。

如果要更改获取结果,则必须修改wp查询(如其他人提到的那样)。

但是在您的示例中没有自定义查询。它是默认值...因此您可以在设置下更改后端每页的帖子数量。否则,您应该使用自定义查询而不是默认查询:

$myposts = get_posts( array( 'showposts'=>10 ) );

if( $myposts ):

    global $post; foreach( $myposts as $post ): setup_postdata( $post );

        // Your output like the_title() etc

    endforeach:

endif;