背景

Gravatar 的全称是Globally Recognized Avatar,指的是“全球通用头像”。在 Gravatar 的服务器上设置了你自己的头像,那么在任何支持 Gravatar 的博客或者留言本上评论时,只要提供你与这个头像关联的邮箱地址,就可以展示你在 Gravatar 上设置的头像来。

Typecho 默认支持 Gravatar 头像功能,但是由于Gravatar境内经常访问不了,所以头像经常显示失败。

解决问题

既然访问不了,那我们给它替换一个能访问的地址问题就解决了呗。于是找到了Gravatar 的中国版

找到网站目录/var/Typecho下的Common.php文件,搜索gravatarUrl。找到如下所示的代码,修改https://secure.gravatar.com这个地址为https://cravatar.cn,这样后台就可以正常显示 Gravatar 头像啦!

推荐使用https://cdn.helingqi.com 或者https://sdn.geekzu.org 镜像源

public static function gravatarUrl(
    ?string $mail,
    int $size,
    ?string $rating = null,
    ?string $default = null,
    bool $isSecure = true
): string {
    if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
        $url = __TYPECHO_GRAVATAR_PREFIX__;
    } else {
        $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';
        $url .= '/avatar/';
    }

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

    $url .= '?s=' . $size;

    if (isset($rating)) {
        $url .= '&r=' . $rating;
    }

    if (isset($default)) {
        $url .= '&d=' . $default;
    }

    return $url;
}

标签: 暂无标签