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\' );

 

1. 本站所有资源来源于用户上传和网络,如有侵权请联系右侧客服删除!
2. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 本站不保证所提供下载的资源的准确性、安全性和完整性,源码仅供下载学习之用!
8. 如用于商业或者非法用途,与本站无关,一切后果请用户自负!
9. 如遇到加密压缩包,默认解压密码为"aawp.cn",如遇到无法解压的请联系管理员!
当动演示 » WordPress搜索结果排除指定页面/文章/自定义分类