禁用WordPress前台搜索功能

WordPress113.7K阅读模式

禁用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', function($a){return null;});

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

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

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
我的微信
版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
 
知更鸟
评论  11  访客  11
    • BanYuner
      BanYuner 5

      这个功能想法很独特啊

      • 点滴记录
        点滴记录 3

        这个可以有

        • boke112导航
          boke112导航 4

          我就曾经被人利用这个搜索功能来共计,所以有可能建议屏蔽禁用

          • 丁春华博客
            丁春华博客 2

            鸟哥都是走在wp时代前沿的人物啊。

            • 小石头
              小石头 0

              呜呜呜呜呜呜无

              • 网站建设
                网站建设 4

                不错的功能

                • webkv
                  webkv 2

                  很想禁用默认的,但目前还米找到适合的搜索。

                  • 锐品创意
                    锐品创意 3

                    用上主题了 很不错哦~~~

                    • lmdk5200
                      lmdk5200 1

                      怎么去掉导航菜单里的搜索,只留下侧边栏的搜索?

                      • VEXS
                        VEXS 4

                        有帮助。

                        • 莫斯科
                          莫斯科 3

                          有没有什么插件可以控制游客无权限搜索,而注册用户或者某些等级的用户可以搜索呢?

                        匿名

                        发表评论

                        匿名网友
                        :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                        拖动滑块以完成验证