为什么我会得到一个带有Have_POST的无限循环?

时间:2011-11-20 作者:yuval

我有以下代码,出于某种原因,它会导致无限循环。有人能解释一下发生了什么事吗?

谢谢

<?php 

$flagged_stores = new WP_Query( array ( \'post_type\' => \'store\', \'orderby\' => \'post_id\', \'meta_key\' => \'flagged\', \'limit\' => 10 ) );

   if($flagged_stores->have_posts()): ?> 
        <div class="table">
            <table class="form-table">
                <tr>
                    <th>Store</th>
                    <th>Flag Reason</th>
                    <th>Delete Flag</th>
                </tr>
                <?php while($flagged_stores->have_posts()): ?>
                    <td><?php echo the_title(); ?></td>
                    <td><?php// echo get_post_custom_values(\'flagged\'); ?></td>
                    <td><?php// echo "Delete"; ?></td>
                <?php endwhile;?>
            </table>
    <?php else: ?>
            No flags found.
    <?php endif; ?>

4 个回复
SO网友:brownian

看看这个答案:get custom post type by tag

我相信你会用$flagged_stores->the_post() 在…内while

SO网友:Michael

尝试并使用\'posts_per_page\' 而不是\'limit\' - http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

SO网友:Evan Yeung

我不知道这是否是导致无限循环的原因,但您的WP\\U查询已关闭。

$flagged_stores = new WP_Query( array ( \'post_type\' => \'store\', \'orderby\' => \'ID\', \'meta_key\' => \'flagged\', \'posts_per_page\' => 10 ) );
我更新了\'orderby\'\'posts_per_page\'.

SO网友:Fanky

正如Michael在给brownian的评论中指出的,使用while 别忘了$your_query->the_post(); 那个iterates the post index. 包while 在里面if($your_query->have_posts()) 有一个无条目选项。

<?php
if($flagged_stores->have_posts()):
 while($flagged_stores->have_posts()):
  $flagged_stores->the_post(); 
  ?> 
    <!-- your html -->
  <?php 
 endwhile;
else: 
 ?>
 No flags found.
 <?php 
endif; 
?>

结束

相关推荐

Paging on a future post loop?

我试图让寻呼在我未来的post循环中工作,但没有用。尽管数据库中有几个有效的帖子,但我没有得到用于分页的链接,而我希望它们位于底部。<?php $args = array( \'post_type\' => \'program\', \'paged\' => get_query_var(\'paged\') ? get_query_var(\'paged\') : 1, \'posts_per_page\' => 1,&#x