AT互联|WordPress搜索结果排除指定页面/文章/自定义分类_
AT互联|WordPress搜索结果排除指定页面/文章/自定义分类_手机扫码预览

AT互联|WordPress搜索结果排除指定页面/文章/自定义分类_

536
免费 优惠信息:免费 暂无永久SVIP下载特权
  • 免费售前咨询
  • 登录下载更划算哦
  • 付费安装资源
  • 付费终身升级
  • QQ保障售后服务
  • 网站应急咨询顾问

这就很尴尬了,搜索结果也太广泛了。

用户搜索到一些无关的内容,估计也很不爽,然后就尝试在搜索结果页面排除一些内容,例如:指定页面、指定文章、指定自定义分类(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\\\' );

 

文章来自AT互联https://www.at8848.cn转载请保留本链接,谢谢!

打破行业潜规则-更多选择 更低价格 更快交付!
AT互联全栈开发服务商 » AT互联|WordPress搜索结果排除指定页面/文章/自定义分类_
欢迎您光顾,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡