WordPress无限循环

时间:2015-11-30 18:25:47

标签: wordpress

我已经编写了这段代码,但却无法理解为什么它会触发无限循环。我一直在寻找类似的问题但没有点击我。谁能请一些亮点?

<?php
$args = array(
        'post_type'         => 'post',
        'posts_per_page'    => 3
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) :
    while ( $the_query->have_posts() ) : ?>

<div class="news_item">

    <img src="<?php echo get_template_directory_uri(); ?>/img/dummy.png">
    <h3><a href="#">Government introduces X Y Z for lorem ipsum dolor esters.</a></h3>

</div>

<?php endwhile; endif;
wp_reset_postdata(); ?>

1 个答案:

答案 0 :(得分:2)

你忘记在The Loop内增加post迭代器。这个迭代器指向下一篇文章。由于您没有通过在循环中调用the_post()来递增它,have_posts()将始终返回true

此处显示了如何编程The Loop以及如何使用the_post()have_posts()的基本示例:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
     

一些不错的Markup来到这里......

<?php endwhile; else : ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

(取自此处:Wordpress.com, The Loop 1 - 使用循环Last time accessed at 30.12.2015

另外注明the_post()

  

在The Loop中迭代post索引。设置下一篇文章   帖子,将'in the loop'属性设置为true。

(取自此处:Wordpress.com,功能参考/帖子last time accessed at 30.12.2015