如何禁用WordPress前台搜索功能

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

代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

//禁用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或者网站首页。


匿名进行回复 取消回复0