wordpress主题加载Gravatar头像失败的问题

2016-8-7 liyangweb.com 李杨 PHP

由于天朝的原因,Gravatar头像在大陆无法使用,而wordpress又恰巧使用的就是Gravatar头像,导致wordpress站点默认情况下在天朝访问超级慢,下面是解决方法:

每个主题都有自己的functions.php方法,在当前主题下的functions.php最后(如果文件最后包含 “?>”,那么要写在这个的上一行),加入如下代码:


/**
 * 多说缓存gravatar头像
 * duoshuo_avatar和get_ssl_avatar都能解决问题,选一个即可
 * @param $avatar
 * @return mixed
 */
function duoshuo_avatar($avatar) {
    $avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
    return $avatar;
}
add_filter( 'get_avatar', 'duoshuo_avatar', 10, 3 );



/**
 * 调用ssl gravatar头像链接
 * duoshuo_avatar和get_ssl_avatar都能解决问题,选一个即可
 * @param $avatar
 * @return mixed
 */
function get_ssl_avatar($avatar) {
    $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
    return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');
两段代码都能解决问题,大家自行选择吧。


标签: PHP wordpress

评论:

苏苏
2016-08-19 02:46
没办法,在国内也就只能这样了!

发表评论:

Powered by emlog 冀ICP备13011830号-1