解决WordPress升级4.2后调用国外图片导致大量404请求的问题
前几天就收到 WordPress 官方发来的预更新通知,告诉我本周会更新到 4.2。果然,昨天就收到了更新推送消息,随手就点击升级了,前台打开看了下没有看到明显的问题,也就放任不管了。
今天中午抽空调试新主题的时候,发现控制台爆出了大量 404 错误请求:
我擦!不会是中招了吧?现在用的是鸟哥最新的 Begin 主题,于是到鸟哥博客看了下控制台,结果也是大量 404 报错!这么明显的错误,鸟哥肯定不会放出来的!
当我看到鸟哥有一条公告说的是【WordPress 更新 4.2,Begin 也升级到了 1.3 版本】,我突然醒悟,肯定是更新 WordPress4.2 带来的问题!
部分报错信息如下:
- GET http://www.davidjeremiah.org/site/error404.aspx?404;http://s.w.org:80/images/core/emoji/72x72/1f606.png 404 (Not Found)
- GET http://www.davidjeremiah.org/site/error404.aspx?404;http://s.w.org:80/images/core/emoji/72x72/1f606.png net::ERR_CONNECTION_RESET
404 错误请求集中在下面 2 个域名:
- www.davidjeremiah.org
- s.w.org
看都不用看,肯定是国外的网站,WordPress 更新 4.2 版本后加了某个机制,需要从这个 2 个网站调取图片或其他资源,因为“厚实”的 GFW ,从而导致了大量的错误请求!
于是我根据报错信息,在 WordPress 代码中全局搜索,几番折腾终于找到了关键位置:
咱先不管这个功能的具体用意是什么,屏蔽再说!
于是,又全局搜索 print_emoji_detection_script 这个函数,终于找到了调用位置:
这下就好办了!直接注释掉这一行收工!
所以,WordPress 更新 4.2 导致大量 404 错误请求的解决办法就是:
方法一、从内核屏蔽
编辑 wp-includes 目录下的 default-filters.php 文件,搜索 print_emoji_detection_script 找到如下代码,并用 // 注释掉即可(后续版本更新时,此修改将会被重置):
add_action( 'wp_head', 'print_emoji_detection_script', 7 );
方法二、从主题屏蔽
在当前主题的 functions.php 最后一个?>之前添加如下代码即可:
//修复404错误请求问题
remove_action( 'wp_head','print_emoji_detection_script',7);
两种方法二选一,推荐方法二,一劳永逸。保存后刷新前台再去看控制台应该就一切正常了!
另外,更新 4.2 之后肯定存在各种 BUG,比如后台-->菜单-->显示选项无法点击:
此问题已有修复方法,猛戳传送门==>http://zhangge.net/5036.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法