我的搜索不再有效,我的类别也一样。它现在显示所有帖子,直到达到页面限制,而不是指定的帖子。这是在我确保我在页面顶部显示的粘性帖子不会在主循环中重复之后发生的。
我将此添加到我的函数中。php
add_action(\'pre_get_posts\', \'theme_ignore_sticky\');
function theme_ignore_sticky($query)
{
if (is_home() && $query->is_main_query())
$query->set(\'ignore_sticky_posts\', true);
}
把这个放在索引中我的主循环之前。php
query_posts( array( \'post__not_in\' => get_option( \'sticky_posts\' ), \'paged\' => get_query_var( \'paged\' ) ) );
最合适的回答,由SO网友:montrealist 整理而成
我发现您的代码中有两个问题。
首先,将可能是字符串的内容传递到post__not_in
, 它接受一个POST ID数组(如果您的选项包含一个ID数组,那么这很好,但总是很好验证)。
其次,似乎重复了两次相同的操作:使用pre_get_posts
钩子,然后你再把东西传给query_posts
. 在文档中(this page, 这个posts_per_page
第二部分),他们将这两种技术演示为做同样事情的替代方法。