大挖在定制wordpress搜索结果页面时通常会默认屏蔽掉页面的搜索结果展示,因为通常页面显现的都是关于我们的介绍或是内容经营服务不在访客的搜索范围内,访客过来搜索更多的要找到的是文章的内容或是产品的内容。所以需要屏蔽掉页面这个选项,那如何屏蔽呢,其实方法很简单只要把下面这段代码复制到function主函数文件里面即可:简单解释下判断post选项,屏蔽掉搜索的范围外。
1 2 3 4 5 6 7 8 |
//搜索结果排除所有页面 function search_filter_page($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','search_filter_page'); |
另一种方案呢是说特定的分类文章的屏蔽,比如说主题有一个产品应用的案例在搜索产品内容时我不并想他展示在wordpress的搜索结果页面,那就需要我们手动去屏蔽掉对接的分类id,怎么操作呢,
1 2 3 4 5 6 7 |
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'); |