用过WordPress的童鞋都知道WP的头像是调用Gravatar的,其实Typecho的头像和WP一样是调用Gravatar的。在无意中发现修改common.php是可以在使用QQ邮箱时直接调用QQ头像的,这对于大部分使用QQ邮箱的人来说应该是很方便,不需要去注册修改Gravatar就可以让头像不再是一个大G了。

修改方法如下:
找到Typecho目录下的var/Typecho/common.php,关于获取Gravatar的代码(932~950行),修改为:

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
        $reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
        if (preg_match($reg, $mail)) {
            $img    = explode("@", $mail);
            $url = "//q2.qlogo.cn/headimg_dl?dst_uin={$img[0]}&spec=100";
        } else {
            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;
            $url .= '&r=' . $rating;
            $url .= '&d=' . $default;
        }
        return $url;
}