Why always one post missing

时间:2012-03-11 作者:menardmam

在我的自定义查询中,每次我使用WP\\u query()查询特定类别中的帖子,例如该类别有10篇帖子,我似乎都缺少一篇帖子。因此,查询10篇文章只返回9篇,查询11篇文章只返回10篇,以此类推。有人知道我为什么在查询结果中总是漏掉一篇帖子吗?

这是我正在使用的代码,它不起作用。我的其他一些代码测试返回了相同的结果。

if($carouselOnOff){?>
<div id="carouselContainer">
<h2 id="sponsorsTitle"><?php echo get_cat_name( $carouselCategory ) ?></h2>
<ul id="carousel">
    <?php $showPostsInCategory = new WP_Query(); $showPostsInCategory->query(\'cat=\'. $carouselCategory .\'&showposts=\'. $carouselNumber .\'\');
    if ($showPostsInCategory->have_posts()) : while ($showPostsInCategory->have_posts()) : $showPostsInCategory->the_post();?>
        <li>
            <?php $data = get_post_meta( $post->ID, \'key\', true ); ?>
            <a href="<?php  if ($data[ \'custom_link\' ]) { echo $data[ \'custom_link\' ];} else { the_permalink(); } ?>">
                <?php the_post_thumbnail(\'sponsor\', array(\'title\' => "")); ?>
            </a>
        </li>
    <?php endwhile; endif; ?>
</ul><!--end carousel-->
</div><!--end carouselContainer-->
<?php } ?>

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

听起来您在该页面上运行了一个过滤器,该过滤器正在添加offset WP\\u查询的参数。

没有任何真正简单的方法可以搜索所有过滤器。插件Hikari Hooks 是我见过的最简单的。如果您安装并激活该插件并查看问题页面,您应该能够查看requestpre_get_posts 或其他可能影响输出的挂钩。然后,只需在您的carousel查询之前跟踪它们的添加位置并禁用它们。

SO网友:Jeremy Jared

听起来可能是浏览器缓存问题。如果你在电脑上,试着按住Ctrl+Alt+F5 执行硬刷新并清除所有缓存。

SO网友:kathleen

我也遇到了同样的问题,在查询中,我将一个数字设置为1,然后我将其更改为零,然后重新设置!这是我的新代码:

<?php global $wp_query; $total_pages = $wp_query->max_num_pages; if ( $total_pages > 0 ) { ?>

SO网友:themarkappleby

我也有类似的问题。我仍然不确定到底是什么导致了它,但我能够通过在查询中强制使用一个大的“posts\\u per\\u page”变量并将偏移量设置为0来修补它。

$the_query = new WP_Query(array(\'post_type\' => \'items\', \'offset\' => \'0\', \'posts_per_page\' => \'9999\'));

SO网友:Gustavo

这可能是状态问题。尝试使用:

\'post_status\' => \'any\'

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post