网站建设

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

Jager · 4月24日 · 2015年 964次已读

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

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

今天中午抽空调试新主题的时候,发现控制台爆出了大量 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 代码中全局搜索,几番折腾终于找到了关键位置:

解决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 找到如下代码,并用 // 注释掉即可(后续版本更新时,此修改将会被重置):

add_action( 'wp_head',             'print_emoji_detection_script',     7    );

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

方法二、从主题屏蔽

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

//修复 404 错误请求问题
remove_action( 'wp_head','print_emoji_detection_script',7);

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

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

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

此问题已有修复方法,猛戳传送门==>https://zhang.ge/5036.html

25 条回应
  1. 日光初起 2015-4-24 · 17:27

    菜单哪里的确是这样的~~
    到没发现404错误~

    • avatar
      Jager 2015-4-24 · 18:26

      感觉和鸟哥Begin主题有一定关系。

  2. 龙川Dj波仔 2015-4-24 · 17:41

    感谢博主深透研究,手痒差点就惹麻烦了。 :mrgreen:

  3. 分钱榜 2015-4-24 · 18:42

    好久没来了,还是一股熟悉的亲切感~:下午6:42:41

  4. cczhi 2015-4-24 · 18:48

    正常 :smile: :smile: :smile: :smile: :smile:

  5. 牛德雷 2015-4-24 · 23:07

    刚登陆后台就看到了4.2的更新,然后去鸟哥的博客看了一眼,没有相关的文章。然后就直接来到博主这里,我就猜到按照博主的性格肯定会有相关文章出来的。
    有事找Jager,保证不会错!! :lol:

  6. 皇家元林 2015-4-25 · 0:02

    貌似4.2版本把链接功能给删掉了。。。

  7. 同问题 2015-4-25 · 1:56

    搜索相关代码 来到这里,啥也不说了,就俩字“威武”!

  8. 子米鱼不是鱼 2015-4-25 · 9:13

    网站上国外网站图片不多,还真没碰见。

  9. 陌小雨 2015-4-25 · 9:32

    wordpress这几天升级太频繁了,先是提示自动升级到4.1.2,过了一会,又提示自动升级到4.1.3,然后就说4.2可供下载了。暂时还没有发现博主所说的问题呢,换的新主题很不错,这个主题的隐藏边栏和显示边栏按钮我很喜欢呀。张哥同学能否有空分享下,^_^

    • 陌小雨 2015-4-30 · 9:53

      已经搞定哈哈。 :grin:

  10. 菊部受审 2015-4-25 · 10:14

    张兄也换响应式了 期待响应式折腾的开始

  11. 同问题 2015-4-25 · 10:16

    真不知道屏蔽掉的是什么东东,昨天晚上发现此相同问题,直到凌晨一点多找到了这里,通过博主的方法问题已经解决了!在此感谢!

  12. Youth.霖 2015-4-25 · 10:19

    我更新后没问题欸 (~ ̄▽ ̄)→))* ̄▽ ̄*)o校园网!
    不过校园网默认的DNS服务器刷不出七牛图片。。。

  13. xiao 2015-4-25 · 19:31

    :?: :?: 我想知道评论表情怎么加载上来的,我的升级4.2后表情就没了

  14. 两天 2015-4-26 · 17:05

    很好很强大 :evil:

  15. 小左 2015-4-28 · 11:41

    zhangge威武,终于解决了~

    • avatar
      Jager 2015-4-28 · 22:55

      能用就好~~

  16. 秋叶博客 2015-4-29 · 19:41

    还好没升级,提示我好久了,我tm就是不升级。。。

  17. 我爱书籍 2015-4-30 · 21:52

    哇 wordpress 升级了 真的好的麻烦哦

  18. WPChina.org 2015-5-13 · 9:07

    很赞哦。不过也可以直接用 disable emojis插件,屏蔽更为彻底

  19. 西贝博客 2015-5-13 · 11:06

    技术达人,用的无觅的文章推荐,也被屏蔽了,有方法解决么?谢谢啦!

  20. 上海网站开发 2015-5-18 · 15:16

    好像是啥评论表情,这种集成服务很讨厌,wordpress应该把这种类似表情,头像的东西做成可用可不用的选项。

  21. 西贝博客 2015-6-4 · 11:10

    404页面要不要跳转啊?