首页 WordPress教程 WordPress搜索结果排除指定页面/文章/自定义分类
正文 评论

WordPress搜索结果排除指定页面/文章/自定义分类

今天在搜索自己站点文章的时候,发现收录的常用网址居然也在搜索结果页面显示。

这就很尴尬了,搜索结果也太广泛了。

用户搜索到一些无关的内容,估计也很不爽,然后就尝试在搜索结果页面排除一些内容,例如:指定页面、指定文章、指定自定义分类(post_type)等内容。

嗯,折腾一阵子也算是折腾好了,现在搜索页只会显示搜索相关的文章了。

方法也挺简单,几行代码就能搞定,下面分享几段搜索结果排除内容的WordPress代码

搜索结果排除指定ID文章或页面

//搜索结果排除指定ID的文章或页面function Bing_search_filter_id($query) {    if ( !$query->is_admin && $query->is_search) {        $query->set(\'post__not_in\', array(40,819));//文章或者页面的ID    }    return $query;}add_filter(\'pre_get_posts\',\'Bing_search_filter_id\');

搜索结果排除指定分类的文章

//搜索结果排除某些分类的文章function Bing_search_filter_category( $query) {    if ( !$query->is_admin && $query->is_search) {        $query->set(\'cat\',\'-15,-57\'); //分类的ID,前面加负号表示排除;如果直接写ID,则表示只在该ID中搜索    }    return $query;}add_filter(\'pre_get_posts\',\'Bing_search_filter_category\');

搜索结果排除所有页面

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

搜索结果排除自定义分类(post_type)

//搜索结果排除自定义分类(post_type)function searchAll( $query ) {if ( $query->is_search ) { $query->set( \'post_type\', array( \'site\' )); } return !$query;}add_filter( \'the_search_query\', \'searchAll\' );
-=||=-收藏赞 (0)
更多主题
v1.0.0
小程序收录免费WordPress主题:XCX主题
¥ 0 关注:23,601
详情
单栏极简文艺WordPress博客主题:Diaspora主题
¥ 0 关注:22,587
详情
简约黑白WordPress个人博客主题:Personal主题
¥ 0 关注:22,340
详情
功能丰富切轻量的WordPress虚拟资源主题:Rizhuti主题
¥ 599 关注:20,522
详情
v1.0.0
一款简约单栏的免费WordPress博客主题:itheme主题
¥ 0 关注:20,452
详情
WordPress版WebStack导航主题:WebStack主题
¥ 0 关注:18,856
详情
回复
暂无评论

不要再留垃圾评论了,主题君整理资源不容易,留几句鼓励的话吧。