WordPress排除指定文章/分类内容不被站内搜索显示出来

WordPress作为当前使用最多的CMS程序,只要我们需要哪些功能,基本上都可以搜索到这类文章解决方案。这也是为什么很多用户喜欢使用WordPress的原因之一。因为有些CMS看似不错,但是很少有技术文档提供解决方案,比如ZBLOG程序国外主机优惠也陆续的不再使用。

今天遇到一个客户企业网站中,需要在搜索内容的时候,只能指定客户公司技术文档,而不会出现其他页面包括的文章和内容在搜索结果中出现。这个问题之前并没有遇到过,于是就搜索解决方案。这里把技术文档整理下来,以便以后有需要用到的时候直接使用。

第一、排除某个分类不被搜索

function wp_search_filter_category( $query) {
if ( !$query->is_admin && $query->is_search) {
$query->set(\’cat\’,\’-12,-13,-14\’); // – 符号表示排除这个分类
}
return $query;
}
add_filter(\’pre_get_posts\’,\’wp_search_filter_category\’);

这里根据我们需要,可以将排除的分类直接写到上面第三行代码里。

第二、排除指定文章不被显示

function wp_search_filter_id($query) {
if ( !$query->is_admin && $query->is_search) {
$query->set(\’post__not_in\’, array(1,2,3));//输入指定文章ID
}
return $query;
}
add_filter(\’pre_get_posts\’,\’wp_search_filter_id\’);

这里排除指定文章不被显示在搜索结果中。

总结,我们将各自需要的功能把代码和对应ID编辑后添加到当前主题functions.php文件中生效。