禁用WordPress前台搜索功能

2018年11月20日20:02:30 发表评论 303

WordPress自带的搜索功能很弱、效率非常低,如果有人利用这个缺陷发起很多搜索请求,你的服务器很有可能会宕机。我们可以使用百度、360等实现站内搜索,并禁止前台使用WordPress自带的搜索功能,在当前主题的 functions.php 文件里加入以下代码即可。

  1. //禁用WordPress前台搜索功能
  2. function disable_search( $query$error = true ) {
  3.     if (is_search() && !is_admin()) {
  4.         $query->is_search = false;
  5.         $query->query_vars['s'] = false;
  6.         $query->query['s'] = false;
  7.         if ( $error == true )
  8.         // 执行搜索后显示的错误页面
  9.         // $query->is_home = true; //跳转到首页
  10.         $query->is_404 = true;//跳转到404页
  11.     }
  12. }
  13. add_action( 'parse_query', 'disable_search' );
  14. add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
备注

可以选择执行搜索后显示的错误页面,是跳转到404或者网站首页。

原代码来自网络,不支持PHP7.2,修改了一下可以支持高版本PHP。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: