WP_Query infinite Loop

时间:2016-12-11 作者:Self Designs

我正在创建一个短代码来显示基于自定义帖子类型的表。出于某种原因,这会创建一个无限循环。下面是短代码的代码

  function cwf_enquiry_table_html()
  {
    $args = array(
      \'post_type\' => \'form-enquiry\'
    );

    $form_enquiries = new WP_Query($args);

    if($form_enquiries->have_posts())
    {
      while($form_enquiries->have_posts())
      {
        echo \'<p>\' . get_the_title() . \'</p>\';
      }
    }

    // wp_reset_query();
  }
  add_shortcode(\'enquiry_table\', \'cwf_enquiry_table_html\');
目前,这只是不断返回“家”。我在主页上找到了这个短代码,所以我想它是在拉一些其他查询,而不是我试图运行的查询。正如您所看到的,我试图重置查询,但没有修复任何问题。

1 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

你需要$form_enquiries->the_post()"push" the loop onto the next post - 否则是的,你会得到一个无限循环!

while ( $form_enquiries->have_posts() ) {
    $form_enquiries->the_post();
    // rest of your loop
}