解决WordPress升级4.2后调用国外图片导致大量404请求的问题

via http://zhangge.net/5034.html

前几天就收到WordPress官方发来的预更新通知,告诉我本周会更新到4.2。果然,昨天就收到了更新推送消息,随手就点击升级了,前台打开看了下没有看到明显的问题,也就放任不管了。

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

今天中午抽空调试新主题的时候,发现控制台爆出了大量404错误请求:

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

我擦!不会是中招了吧?现在用的是鸟哥最新的Begin主题,于是到鸟哥博客看了下控制台,结果也是大量404报错!这么明显的错误,鸟哥肯定不会放出来的!

当我看到鸟哥有一条公告说的是【WordPress更新4.2,Begin也升级到了1.3版本】,我突然醒悟,肯定是更新WordPress4.2带来的问题!

部分报错信息如下:

404错误请求集中在下面2个域名:

  • www.davidjeremiah.org
  • s.w.org

看都不用看,肯定是国外的网站,WordPress更新4.2版本后加了某个机制,需要从这个2个网站调取图片或其他资源,因为“厚实”的 GFW ,从而导致了大量的错误请求!
于是我根据报错信息,在WordPress代码中全局搜索,几番折腾终于找到了关键位置:

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

咱先不管这个功能的具体用意是什么,屏蔽再说!

于是,又全局搜索 print_emoji_detection_script 这个函数,终于找到了调用位置:

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

这下就好办了!直接注释掉这一行收工!

所以,WordPress 更新4.2导致大量404错误请求的解决办法就是:

方法一、从内核屏蔽

编辑 wp-includes 目录下的 default-filters.php 文件,搜索 print_emoji_detection_script 找到如下代码,并用 // 注释掉即可(后续版本更新时,此修改将会被重置):


解决WordPress升级4.2后调用国外图片导致大量404请求的问题

#### 方法二、从主题屏蔽

在当前主题的 functions.php 最后一个?>之前添加如下代码即可:

两种方法二选一,推荐方法二,一劳永逸。保存后刷新前台再去看控制台应该就一切正常了!

另外,更新4.2之后肯定存在各种BUG,比如后台–>菜单–>显示选项无法点击:

解决WordPress升级4.2后调用国外图片导致大量404请求的问题

此问题已有修复方法,猛戳传送门==>http://zhangge.net/5036.html
解决WordPress升级4.2后调用国外图片导致大量404请求的问题