MENU

Typecho gravatar头像 加载失败

• July 2, 2020 • Read: 310 • 折腾

Typecho评论默认使用的是Gravatar头像,很多时候出现被墙或者加载缓慢的情况。查阅了一些解决办法,好多不起作用,下面这个修改办法亲测可用。

方法一:

在typecho的安装目录下,找到手动修改文件var/Typecho/Common.php的932行。
修改前:

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
    $url .= '/avatar/';

    if (!empty($mail)) {
        $url .= md5(strtolower(trim($mail)));
    }

    $url .= '?s=' . $size;
    $url .= '&r=' . $rating;
    $url .= '&d=' . $default;

    return $url;
}

修改后:

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
    $url = $isSecure ? 'https://cdn.v2ex.com/gravatar/' : 'http://gravatar.duoshuo.com/avatar/';

    if (!empty($mail)) {
        $url .= md5(strtolower(trim($mail)));
    }

    $url .= '?s=' . $size;
    $url .= '&r=' . $rating;
    $url .= '&d=' . $default;

    return $url;
}

替换之后,原来Gravatar头像直接通过V2EX 的CDN访问,速度大大提升了。

方法二:

在Typecho1.1(17.10.24)及以上版本可以在config.inc.php文件中定义常量:__TYPECHO_GRAVATAR_PREFIX__

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');