广告位招租919838898

WordPress 全局搜索结果排除页面或者指定分类(7B2主题适用)

Wordpress 全局搜索结果排除页面或者指定分类(7B2主题适用)

星空站长网上有新闻和教程两方面的东西,但是问题出来了,使用全局搜索,出来的搜索结果都是整个网站的文章。

比如:我搜索Wordpress ,搜索结果中,不光有关于Wordpress的教程,还有关于Wordpress的新闻资讯。那么需求就来了。

需求

在最终的搜索结果中,不要显示页面,和不显示指定分类下面的文章。

也就是,我不想要“新闻”类目中的文章,显示在搜索结果页中。

我们应该如何来实现这种功能。于是就去网上找了答案,分别是不让页面和指定分类中的文章显示在搜索结果页面中。那么我们就依次来解决这些问题。

排除所有页面

页面中有很多不方便透露的关键词,但通过关键词可以搜索到。即便是个新闻。

那么如何排除页面?

只需要在你使用的主题function.php(可以放子主题,如何你的主题支持的话)

简单解释下判断post选项,屏蔽掉搜索的范围外。

//搜索结果排除所有页面
 function search_filter_page($query) {
      if ($query->is_search) {
               $query->set('post_type', 'post');
    }
    return $query;
 }
add_filter('pre_get_posts','search_filter_page');

排除指定分类

将下面的代码放入你使用的主题function.php(可以是子主题的)

 function Bing_search_filter_category( $query) {
 if ( !$query->is_admin && $query->is_search) {
         $query->set('cat','-15,-57'); //注意前面要加一个减号
  }
    return $query;
}
add_filter('pre_get_posts','Bing_search_filter_category');

分类的ID在后台可以看到。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
广告位招租919838898
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索