WordPress自带的搜索功能很弱、效率非常低,如果有人利用这个缺陷发起很多搜索请求,你的服务器很有可能会宕机。我们可以使用百度、360等实现站内搜索,并禁止前台使用WordPress自带的搜索功能,在当前主题的 functions.php 文件里加入以下代码即可。
//禁用WordPress前台搜索功能 function disable_search( $query, $error = true ) { if (is_search() && !is_admin()) { $query->is_search = false; $query->query_vars['s'] = false; $query->query['s'] = false; if ( $error == true ) // 执行搜索后显示的错误页面 // $query->is_home = true; //跳转到首页 $query->is_404 = true;//跳转到404页 } } add_action( 'parse_query', 'disable_search' ); add_filter( 'get_search_form', function($a){return null;});
可以选择执行搜索后显示的错误页面,是跳转到404或者网站首页。
源代码来自网络,不支持高版本PHP,修改了一下可以支持高版本PHP。

版权声明
本站原创文章转载请注明文章出处
2018年10月20日 22点21分 1F
这个功能想法很独特啊
2018年10月21日 20点28分 2F
这个可以有
2018年10月21日 22点23分 3F
我就曾经被人利用这个搜索功能来共计,所以有可能建议屏蔽禁用
2018年10月22日 08点46分 4F
鸟哥都是走在wp时代前沿的人物啊。
2018年10月25日 21点00分 5F
呜呜呜呜呜呜无
2018年11月12日 11点22分 6F
不错的功能
2018年11月25日 21点32分 7F
很想禁用默认的,但目前还米找到适合的搜索。
2018年12月2日 08点15分 8F
用上主题了 很不错哦~~~
2018年12月25日 00点33分 9F
怎么去掉导航菜单里的搜索,只留下侧边栏的搜索?
2019年2月21日 15点46分 10F
有帮助。
2019年3月10日 15点34分 11F
有没有什么插件可以控制游客无权限搜索,而注册用户或者某些等级的用户可以搜索呢?