重新自定义typecho头像

本文共1162字,最近更新于:. #typecho , #QQ头像 , #评论头像/ a

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

首先,将下面的代码丢到funtions.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头像。完美!

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

雨致

(๑>ڡ<)☆谢谢老板~

使用微信扫描二维码打赏

版权声明:本文为作者原创,如需转载须联系作者本人同意,未经作者本人同意不得擅自转载。本站微信公众号:7TEC,敬请关注!

添加新评论

已有 73 条评论
  1. 9KE 访客

    测试一下

    |回复
  2. 测试 访客

    测试

    |回复
  3. ZAESKY 访客

    测试

    |回复
  4. 访客

    123

    |回复
  5. a@a 访客

    (!)[zface_2.png]

    |回复
  6. 见秋 访客

    test

    |回复
  7. cel 访客

    我试试

    |回复
  8. 作者名称 访客

    测试

    |回复
  9. XM 访客

    然而把这些代码复制进去发现 填QQ邮箱的确实是变成QQ头像了
    自己的评论不是QQ邮箱却还是QQ默认头像(企鹅) 并没有变成gravartar的头像

    |回复
    1. 雨致 作者
      @XM

      再检查一下代码。

      |回复
  10. fengxianqi 访客

    test

    |回复
  11. 1 访客

    test

    |回复
  12. 子弹 访客

    测试

    |回复
  13. 冰·sky 访客

    测试

    |回复
  14. AAAA 访客

    小白问下 这个放哪

    |回复
    1. 雨致 作者
      @AAAA

      funtions.php

      |回复
  15. neal 访客

    测试

    |回复
  16. 子逸 访客

    测试(!)[zface_16.png]

    |回复
  17. 夏目贵志 访客

    非常 nice 转载了

    |回复
  18. 测试 访客

    测试

    |回复
  19. 1111 访客

    test

    |回复
  20. kotena 访客

    测试

    |回复