有人喜欢使用WordPress自带的搜索功能,也有不喜欢使用wordpress自带的搜索功能,认为不够好;的确,wordpress自带的搜索功能很效率非常低,如果有人利用这个缺陷发起很多搜索请求,有可能低配一点的服务器会出现宕机的情况。如果百度或者360搜索收录比较良好,可以借助百度、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’, create_function( ‘$a’, “return null;” ) );
可以选择执行搜索后显示的错误页面,是跳转到404或者网站首页。
注:新站不建议更改,大部分没有收录的也不建议选择,收录良好的站可以试试吧。另外暂时不支持php7.2及其以上的版本。