登录 注册 VIP特权 提交收录
Search Engine Optimization,不撸代码不修BUG
主页 » 教程 » 正文

Typecho更换Gravatar的头像源方法

无论是Typecho还是WordPress,默认的Gravatar地址都是国外的,访问速度很慢,严重影响网站的访问体验,这里分享一下替换方法。

全站修改法

在网站根目录下的 config.inc.php 文件,加入以下代码。

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.loli.net/avatar/'); //更换头像源

这里使用的是 loli.net 的头像源,如果有需要也可以换成别的。

P.S 更多镜像源(直接替换上边的地址就行了)
http://gravatar.ihuan.me/avatar/
https://gravatar.proxy.ustclug.org/
https://cdn.v2ex.com/gravatar/
http://dn-qiniu-avatar.qbox.me/avatar

局部更换法

有的时候我们不需要全站替换,比如只需要替换我TePass插件的,或者只是主题的。
这里分享一下替换当前主题评论的方法。

//获取Gravatar头像 QQ邮箱取用qq头像
function getGravatar($email, $s = 96, $d = 'mp', $r = 'g', $img = false, $atts = array())
{
preg_match_all('/((\d)*)@qq.com/', $email, $vai);
if (empty($vai['1']['0'])) {
    $url = 'https://gravatar.loli.net/avatar/';
    $url .= md5(strtolower(trim($email)));
    $url .= "?s=$s&d=$d&r=$r";
    if ($img) {
        $url = '<img src="' . $url . '"';
        foreach ($atts as $key => $val)
            $url .= ' ' . $key . '="' . $val . '"';
        $url .= ' />';
    }
}else{
    $url = 'https://q2.qlogo.cn/headimg_dl?dst_uin='.$vai['1']['0'].'&spec=100';
}
return  $url;
}

上面这段代码,放当前主题的functions.php文件里,代码的意思是先对邮箱进行了判断,如果是QQ邮箱,就取QQ头像,不是的话再去gravatar取头像。
有了上面的代码,然后在需要输出头像的地方:

$email=$this->user->mail; 
$imgUrl = getGravatar($email);
echo '<img src="'.$imgUrl.'" width="25px" height="25px" class="avatar hasLogin-author" >';

先获取邮箱,然后邮箱转换一下即可,其它地方如果需要,请变通。


您的大名:
万水千山总是情,给个打赏行不行。 打赏

标签: 更换Gravatar的头像源
! 如链接失效请在下方留言。本站所发布的全部内容源于互联网搬运,仅限于小范围内传播学习和文献参考,请在下载后24小时内删除,如果有侵权之处请第一时间联系我们删除。敬请谅解! E-mail:49613651@qq.com
原创文章,作者:一宇A1xt,如若转载,请注明出处:http://www.a1xt.com/archives/431.html

相关推荐


猜你喜欢

Typecho最新热门热评文章调用api

无论是Typecho还是WordPress,默认的Gravatar地址都是国外的,访问速度很慢,严重影响网站的访问体验,这里分享一下替...


上一篇
下一篇

发表评论