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\' );
文章来自小白学习资源站https://btzy.cc转载请保留本链接,谢谢!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源
1.本站提供的一切源码、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途!
2.本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容!
3.本站提供的源码,模板,插件等其他资源都不包含技术服务,敬请谅解!
4.本站资源售价只是赞助,收取费用仅维持本站日常运营所需!
5.如无备注,本站不保证所提供下载的资源准确性安全性和完整性,源码仅供下载学习之用!
6.如用于商业或者非法用途,与本站无关。一切后果请自行负责!
7.如果遇到加密压缩包,默认解压密码为:btzy.cc或bori99.com如遇到无法解压请联系站长!