欢迎您光临丑恰网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!

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、源码安装、模板安装(一般 ¥50-300)服务答疑仅限VIP用户
    3、单价超过200元的模板免费一次安装,需提供服务器信息。
    付费增值服务 1、提供dedecms模板、WordPress主题、discuz模板优化等服务请详询在线客服
    2、承接 WordPress、DedeCMS、Discuz 等系统建站、仿站、开发、定制等服务
    3、服务器环境配置(一般 ¥50-300)
    4、网站中毒处理(需额外付费,500元/次/质保三个月)
    售后服务时间 周一至周日(法定节假日除外) 9:00-23:00
    免责声明 本站所提供的模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: 645876098@qq.com),我们会及时删除,给您带来的不便,我们深表歉意!

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系作者
  • 2295会员总数(位)
  • 2515资源总数(个)
  • 09本周发布(个)
  • 02 今日发布(个)
  • 1972稳定运行(天)

升级VIP尊享更多特权立即升级