有些时候由于特殊内容可能不希望被用户搜索展示出来,我们可以通过一些技术手段在搜索结果页面中设置排除选项,可以将某个搜索结果页面或者分类不让在搜索结果中出现。在之前的文章中,还有分享过”WordPress排除首页显示某个分类文章脚本方法”文章,我们可以将更新出来的文章不在首页显示。
第一、搜索页面排除某页面
//搜索结果排除所有页面
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 Bing_search_filter_category( $query) {
if ( !$query->is_admin && $query->is_search) {
$query->set(‘cat’,’-1,-2′); //注意前面要加一个减号
}
return $query;
}
add_filter(‘pre_get_posts’,’Bing_search_filter_category’);
如果有需要可以将代码添加到当前主题中的Functions.php页面中,且如果需要将指定的分类排除在搜索结果之外,我们可以看到第二段代码中分类数字改写自己的。