夏目友人帐.
30/03/2018 作品
27/03/2018 友人
27/03/2018 关于

typecho更改评论Gavatar头像为QQ头像

今天休息,跑到网吧偷偷折腾网站来了。看看以前的QQ头像替代默认的Gavatar头像功能,感觉不是很理想。因为当访客使用QQ邮箱评论时会显示QQ头像,可是如果使用的不是QQ头像,就会显示一个QQ企鹅头像,这样子在我看来是不行的。于是又萌生了修改的想法。

首先,将下面的代码丢到functions.php文件当中。

//获取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://www.gravatar.com/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;
}

其次,再将下面的代码复制到需要放头像的页面,通常是comments.php页面和sidebar.php页面。

<?php $email=$comments->mail; $imgUrl = getGravatar($email);echo '<img src="'.$imgUrl.'" width="45px" height="45px" style="border-radius: 50%;" >'; ?>

大功告成!
该代码可以实现的功能:当客户评论时用的不是QQ邮箱,则显示gavatar头像,否则则显示QQ头像。完美!

文章作者:雨致

原文链接:http://www.7tec.cn/215.html

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


已有 2 条评论


  1. 王叨叨

    思路不错,还可以再把gavatar头像换一下源,这样加载速度还会快一点,我用的是v2ex的源。

    王叨叨  2019年3月6日回复
    1. 夏目贵志

      哈哈哈 不提醒都忘了 2333 没换源

      夏目贵志 admin 2019年3月9日回复

发表新评论


最后更新于 2019 年 03 月 03 日.
Contact me at lvchuanxing@gmail.com. 回到顶部