忽略主循环中的粘性帖子时,搜索和类别不起作用

时间:2016-12-18 作者:CIAOperative

我的搜索不再有效,我的类别也一样。它现在显示所有帖子,直到达到页面限制,而不是指定的帖子。这是在我确保我在页面顶部显示的粘性帖子不会在主循环中重复之后发生的。

我将此添加到我的函数中。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\' ) ) ); 

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

我发现您的代码中有两个问题。

首先,将可能是字符串的内容传递到post__not_in, 它接受一个POST ID数组(如果您的选项包含一个ID数组,那么这很好,但总是很好验证)。

其次,似乎重复了两次相同的操作:使用pre_get_posts 钩子,然后你再把东西传给query_posts. 在文档中(this page, 这个posts_per_page 第二部分),他们将这两种技术演示为做同样事情的替代方法。

相关推荐

Add code to Functions.php

我想知道我是否在函数中添加了一些短代码。php在我的主题和解决我的问题,会发生什么,如果我更新我的主题??更新后是否删除我的短代码??在将代码添加到函数后,更新主题是否会有任何问题。php?