禁止WordPress前台搜索功能 降低搜索查询占用负载

如果我们的网站数据比较大且用的是WordPress程序,如果有大量的用户通过搜索查询也会提高数据库的负载。同时,我们是不是也有看到过搜索的恶意关键字也会被搜索引擎收录。当然,我们可以用一些方法来设定搜索的敏感关键字屏蔽,但是如果非敏感词的话大量搜索也会提高负载。

我们可以将WordPress网站的站内搜索换成谷歌或者百度的站内搜索,这个具体如何实现后面介绍。在这篇文章中,麦子准备禁止掉WordPress前台的搜索功能。我们可以用 Disable Search 插件实现,但是我们这里直接用代码也可以实现。

//禁用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;" ) );

这样,我们在前端搜索的话都是无法看到结果的,而是返回在首页。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享