在 typecho 根目录 /var/Typecho/Common.php 文件,注释掉大约在第 1010 行至第 1028 行的代码

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
    {
        if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
            $url = __TYPECHO_GRAVATAR_PREFIX__;
        } else {
            $url = $isSecure ? 'https://cn.gravatar.com' : 'https://secure.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)
{
  $reg = "/^\d{5,11}@[qQ][Qq]\.(com)$/";
  if (preg_match($reg, $mail)) {
  $img = explode("@", $mail);
  $url = "https://q1.qlogo.cn/g?b=qq&nk={$img[0]}&s=100";
  } else {
  if (defined('__TYPECHO_GRAVATAR_PREFIX__')) {
  $url = __TYPECHO_GRAVATAR_PREFIX__;
  } else {
  $url = $isSecure ?  'https://cn.gravatar.com' : 'https://secure.gravatar.com/';
  $url .= '/avatar/';
  }
  if (!empty($mail)) {
  $url .= md5(strtolower(trim($mail)));
  }
  $url .= '?s=' . $size;
  $url .= '&r=' . $rating;
  $url .= '&d=' . $default;
  }
  return $url;
}

此代码设定为优先解析QQ头像,然后是Gravatar 使用国内镜像源

此文转载自浅小沫的博客,转载请注明出处。