wordpress升级4.2后出现的大量报错的故障处理

导读:wordpress升级到4.2后,控制台出现大量错误,调用wordpress官方emoji表情引起,类似http://s.w.org/images/core/emoji/72×72/1f61b.png这样的表情地址无法打开,并且一直在加载,一直在报错。
报错信息:

http://s.w.org/images/core/emoji/72x72/1f61b.png Failed to load resource: net::ERR_CONNECTION_TIMED_OUT
1076.html:1 GET http://s.w.org/images/core/emoji/72x72/1f61b.png net::ERR_CONNECTION_TIMED_OUT

wordpress升级4.2大量报错表情图片
wordpress的推送一般有我就直接自动升级,从3.0到现在也一直这样,没出现过什么大问题,中间有一次google fonts的问题,有个插件就解决了,不算什么大问题。这次wordpress升级到4.2也是一样,以为一切正常的,今天说装个sohu畅言试试,发现有问题,起初以为是畅言的问题,我还专门去他们的圈子里提问了,后来发现http://s.w.org/是wordpress官方的地址,就想起来有可能是这次升级导致的,前台代码中有一段输出:

<script type="text/javascript">
            window._wpemojiSettings = {"baseUrl":"http://s.w.org/images/core/emoji/72x72/","ext":".png","source":{"concatemoji":"http://beltxman.com/wp-includes/js/wp-emoji-release.min.js?ver=4.2.1"}};
            !function(a,b,c){function d(a){var c=b.createElement("canvas"),d=c.getContext&&c.getContext("2d");return d&&d.fillText?(d.textBaseline="top",d.font="600 32px Arial","flag"===a?(d.fillText(String.fromCharCode(55356,56812,55356,56807),0,0),c.toDataURL().length>3e3):(d.fillText(String.fromCharCode(55357,56835),0,0),0!==d.getImageData(16,16,1,1).data[0])):!1}function e(a){var c=b.createElement("script");c.src=a,c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f;c.supports={simple:d("simple"),flag:d("flag")},c.supports.simple&&c.supports.flag||(f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);
        </script>
        <style type="text/css">
img.wp-smiley,
img.emoji {
    display: inline !important;
    border: none !important;
    box-shadow: none !important;
    height: 1em !important;
    width: 1em !important;
    margin: 0 .07em !important;
    vertical-align: -0.1em !important;
    background: none !important;
    padding: 0 !important;
}
</style>

显然是有函数调用了http://s.w.org/里面的表情图片,而因为GWF的原因,这些图片无法访问,所以才会出现这么多的报错。
经过查找,发现大神张戈同学已经解决了这个问题,那我就借鉴了他的第二个方法:
在function模板函数中屏蔽掉这些引用http://s.w.org/表情图片的代码;

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

至此,解决了这个问题,你要是也遇到这个问题,可以去张戈博客看看,那边有更深入的研究!
传送门:
解决WordPress升级4.2后调用国外图片导致大量404请求的问题
WordPress4.2升级修复补丁:解决大量404请求以及评论表情路径及尺寸异常问题

wordpress升级4.2后出现的大量报错的故障处理

原文链接:https://beltxman.com/1084.html,若无特殊说明本站内容为 行星带 原创,未经同意禁止转载。

wordpress升级4.2后出现的大量报错的故障处理”上有 9 条评论;

  1. 我的没出问题 你的这个评论框太…[/抓狂]

    1. 这个评论框确实还需要改进啊,奈何我自己不会写嵌入式的评论框

评论已关闭。

Scroll to top