说明
Gravatar是Globally Recognized Avatar的缩写,意为“全球通用头像”,如果在Gravatar的服务器上放置了你自己的头像,只要提供你与这个头像关联的Email地址,就能够显示出你的Gravatar头像来
Gravatar的概念首先是在国外的独立WordPress博客中兴起的,当你在网站留言时,网站都会根据你所提供的Email地址为你显示出匹配的头像
当然Typecho也是默认有支持Gravatar头像的功能
Typecho被Gravatar头像拖慢了访问速度,是因为Typecho使用的Gravatar的镜像默认是国外镜像,国内访问极其不稳定
目前可用Gravatar国内镜像
调用
分析Typecho输出Gravatar代码,如下
可以看到如果常量__TYPECHO_GRAVATAR_PREFIX__
没有定义,则Gravatar使用https://secure.gravatar.com或http://www.gravatar.com,如果定义了就使用__TYPECHO_GRAVATAR_PREFIX__
常量 的值,我们只需要定义一下__TYPECHO_GRAVATAR_PREFIX__
常量就可以啦
/**
* 获取gravatar头像地址
*
* @param string $mail
* @param int $size
* @param string $rating
* @param string $default
* @param bool $isSecure
* @return string
*/
public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
{
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;
}
在站点根目录下的config.inc.php
文件加入如下代码
/** 更换头像源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 头像源);
例如
/** 更换头像源 */
define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');
WIR 游客 2022-02-23 13:04 回复
v2ex源貌似不好使了
Liping 游客 2021-12-07 15:54 回复
试试就shishi