添加过滤器以忽略一个帖子/页面或多个帖子/页面

时间:2012-05-22 作者:tonyf

希望有人能提供帮助,但作为正常WordPress主题搜索的一部分,我如何在搜索中添加一个过滤器,以避免在循环中包含某些帖子/页面?

例如,我希望“搜索”在循环中忽略post=234或post 123234555?

谢谢

1 个回复
SO网友:Bainternet

您可以使用pre_get_posts 过滤器挂钩并设置post__not_in 查询ex的参数:

function exclude_from_search_filter($query) {
        if ( !$query->is_admin && $query->is_search) {
                $query->set(\'post__not_in\', array(40, 9) ); // id of page or post
        }
        return $query;
}
add_filter( \'pre_get_posts\', \'exclude_from_search_filter\' );

结束

相关推荐

exclude pages in custom menu

我正在为wordpress创建一个自定义主题,它将有一个设置页面。我添加了从导航中排除页面的选项,该选项只会对由“,”分隔的页面id起作用以下是我目前掌握的代码: <ul class=\"tabs\"> <?php $exmenuitems = get_option(\'exmenuitems\'); $recentPosts = new WP_Query(); $recentPosts->query (array (&