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。
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!
我的微信
微信号已复制
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
江苏省苏州市 1F
这个功能想法很独特啊
江苏省苏州市 2F
这个可以有
陕西省西安市 3F
我就曾经被人利用这个搜索功能来共计,所以有可能建议屏蔽禁用
湖北省武汉市 4F
鸟哥都是走在wp时代前沿的人物啊。
陕西省西安市 5F
呜呜呜呜呜呜无
江苏省苏州市 6F
不错的功能
江苏省苏州市 7F
很想禁用默认的,但目前还米找到适合的搜索。
江苏省苏州市 8F
用上主题了 很不错哦~~~
陕西省西安市 9F
怎么去掉导航菜单里的搜索,只留下侧边栏的搜索?
陕西省西安市 10F
有帮助。
陕西省西安市 11F
有没有什么插件可以控制游客无权限搜索,而注册用户或者某些等级的用户可以搜索呢?