如何在WordPress中禁用前台搜索功能

  • 如何在WordPress中禁用前台搜索功能已关闭评论
  • 147 次浏览
  • A+
所属分类:技术分享

WordPress 网站怎么禁用前台搜索功能?WordPress自带的搜索功能很弱、效率非常低,如果有人利用这个缺陷发起很多搜索请求,你的服务器很有可能会宕机。

1、我们可以使用百度、360等实现站内搜索,并禁止前台使用WordPress自带的搜索功能,在当前主题的 functions.php 文件里加入以下代码即可。

  1. //禁用WordPress前台搜索功能
  2. 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', function($a){return null;});

2、可以选择执行搜索后显示的错误页面,是跳转到404或者网站首页。

3、还可以将以下代码添加到主题的 functions.php 文件中,以在 WordPress 网站禁用搜索小工具。

function csc_disable_search_widget() { unregister_widget('WP_Widget_Search'); } add_action( 'widgets_init', 'csc_disable_search_widget' );

3、源代码来自网络,不支持高版本PHP,修改了一下可以支持高版本PHP。