WP查询-每页发布的帖子不能与类别__in结合使用

时间:2018-11-29 作者:KeironLowe

我不确定这是个bug还是我做错了什么,但看起来不像posts_per_page 使用时完全有效category__in.

我的问题如下,尽管我已设置posts_per_page1, 它仍在显示所有帖子。

$posts = new WP_Query(array(
    \'post_type\'      => \'post\',
    \'category__in\'   => wp_get_post_categories($post->ID),
    \'posts_per_page\' => 1,
    \'post__not_in\'   => array($post->ID)
));
有什么想法吗?

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

我正在我的开发网站上测试你的代码,它只返回1个结果(虽然同一类别中有3个项目),所以你的代码看起来很好,可能应用了其他过滤器,忽略了posts\\u per\\u page参数。

您可以尝试使用suppress_filters => true WP\\u Query args列表中的参数,或者使用get\\u posts()函数代替WP\\u Query,因为该函数在默认情况下启用了superss\\u过滤器,因此代码将

$posts = get_posts(array( \'post_type\' => \'post\', \'category__in\' => wp_get_post_categories($post->ID), \'posts_per_page\' => 1, \'post__not_in\' => array($post->ID) ));

希望这有帮助。

结束

相关推荐

Last post in loop when even

我使用这段代码尝试检查每个页面上的最后一篇文章循环是否均匀,以便添加不同的类。这可以检查它是否是最后一篇文章:( ( 1 == $wp_query->current_post + 1 ) == $wp_query->post_count ) 这可以检查它是否是一个均匀的帖子( $wp_query->current_post % 2 == 0 ) 但这并没有检查这是否是最后一篇文章,甚至。 ( ( 1 == $wp_query->current_post + 1