iEdon 于今日升级了 WordPress 4.2 版本,升级结果与往常一样非常顺利。
然而,当刷新以后,站点出现了500错误,于是紧急排查错误。
错误根源:
iEdon 观察到服务器记录了如下错误:
[Fri Apr 24 22:47:56.894308 2015] [fcgid:warn] [pid ***:tid ***] [client ***:***] mod_fcgid: stderr: PHP Fatal error: Cannot redeclare get_avatar_url() (previously declared in ***/link-template.php:3414) in ***/functions.php on line 291, referer: http://iedon.com/
貌似 WordPress 4.2 新增了一个函数:get_avatar_url() 此新增函数已经有手工版本存在于 iEdonX V4 主题当中,因此造成冲突。
解决办法:
1.日后升级最新版的 iEdonX 主题。 2.打开 functions.php 并修改。
注意:修改代码有风险,注意及时备份。
一、找到: add_filter('get_avatar','rewrite_avatar'); 在下面添加: add_filter('get_avatar_url','rewrite_avatar'); 二、找到 rewrite_avatar() 函数并修改如下: function rewrite_avatar($avatar) { $avatar = preg_replace("/http:\/\/.*.gravatar.com/","[Gravatar缓存地址,可以用多说]",$avatar ); $avatar = preg_replace("/https:\/\/.*.gravatar.com/","[Gravatar HTTPS 缓存地址,不支持HTTPS就删了这行]",$avatar ); return $avatar; } 三、删除 functions.php 中已有的 get_avatar_url() 函数。
3.保存 functions.php。
Leave a Reply