WordPress程序使用的朋友非常多,应该其强大的功能与插件。但是WordPress自带的搜索功却比较弱、效率也比较低。如果被人利用,还可能引起服务器宕机。所以我们可以禁用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', create_function( '$a', "return null;" ) );
说明一下,我们可以选择执行搜索后显示的错误页面,可以跳转到404页面或者网站首页。原代码来自网络,不支持PHP7.2,修改了一下可以支持高版本PHP。