内容 |
因为wordpress自带的搜索功能结果排序非常糟糕,在站点文章多的时候很难通过搜索找到自己要找的内容,不少人已经使用 google cse 来提供站内搜索。但是wordpress默认的搜索功能依然没有禁用掉,这会留下隐患。wordpress在进行搜索的时候效率非常低,如果有人利用这个缺陷对你的博客发起很多搜索请求的话,你的服务器很有可能宕机。因此在站内搜索已经有更好的替代品的情况下,我们应该禁止在前台使用wordpress自带的搜索功能,只需在主题的 functions.php 文件里加入下面的代码即可。 add_filter('posts_search', 'disable_search_query_like'); function disable_search_query_like($arg){ if(!is_admin()){ return ''; }else{ return $arg; } } if(isset($_get['s'])){ add_filter('posts_request', 'disable_search_query'); } function disable_search_query($arg){ if(!is_admin()){ return ''; }else{ return $arg; } } 添加完代码以后,输入wordpress默认的搜索地址 http://yourdomain.com/?s=xxxx 将显示找不到任何文章(提示语因主题而异),也不会对数据库产生搜索查询。但是在后台的所有文章界面我们依然可以进行搜索。
|