wordpress评论调用qq头像

不得不说在国内很多人不习惯使用邮箱,甚至没有avatar头像。

针对国内情况对主题进行了一定的优化:

如果使用QQ邮箱则调用QQ头像,否则继续调用avatar头像。这样既方便了qq用户,也方便了avatar用户。此方法并不会拖慢网页加载速度,

可以说是一个比较好的方法了。

首先我们找到了获取qq头像的api:https://q.qlogo.cn/g?b=qq&nk=扣扣号&s=100

然而我们并不能直接获取评论者的QQ。

所以我们需要获取评论者的email地址:

get_comment($parent_id)->comment_author_email);

有了email地址,进行判断是否为qq邮箱:

if(strpos($qqmail,'@qq.com'))

如果是qq邮箱的话:

$avatar_source='q.qlogo.cn';
$img='g?b=qq&nk='.preg_replace('/@qq.com/','',$qqmail).'&s=100';

不是仍然调用avatar头像:

$avatar_source='cn.gravatar.com';
$img='avatar/$1?s=$2';

这样这个问题就愉快的解决了。

完整代码展现如下:

//Gravatar头像
function get_avatar_javst($avatar) { 
        $protocol=is_ssl()?'https':'http';
		$qqmail = trim(get_comment($parent_id)->comment_author_email);
		if(strpos($qqmail,'@qq.com')){
        $avatar_source='q.qlogo.cn';
		$img='g?b=qq&nk='.preg_replace('/@qq.com/','',$qqmail).'&s=100';}
		else{
			$avatar_source='cn.gravatar.com';
			$img='avatar/$1?s=$2';
			}
        $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&amp;.*/','<img class="avatar avatar-$2" src="'.$protocol.'://'.$avatar_source.'/'.$img.'" width="$2" height="$2" />',$avatar);
        return $avatar;
}
add_filter('get_avatar', 'get_avatar_javst');

打赏

网友评论18条

  1. 9楼
    阿里妈妈

    方法确实不错~~~~~~~

    [回复]
  2. 8楼
    天下为公

    做的不错,但是仍有不完美的地方。

    [回复]
  3. 7楼
    xiaomo

    不错,收了

    [回复]
    • Javst

      哇,贼j8骚,著注明出处哦~

      [回复]
  4. 6楼
    弋牧

    思路很好。。。

    [回复]
  5. 5楼
    肥柴

    说实话,你很皮嘛

    [回复]
    • Javst

      ~~~~233你也皮。。。

      [回复]
      • 肥柴

        你皮任你皮,把你当瓜皮

        [回复]
  6. 4楼
    肥柴

    要高考了,不发个文章皮皮高三党?哎就很舒服,,,,,个性签名:爷灬傲奈我何

    [回复]
    • Javst

      哇你很皮,高考对我来说已经很遥远了,没感觉。

      [回复]
      • 肥柴

        爷灬傲奈我何????????

        [回复]
        • Javst

          你丑你说什么都对。

          [回复]
  7. 地板
    白狼

    测试一下 :不屑: 起不起作用

    [回复]
    • Javst

      本人自用有效,应该是你的问题

      [回复]
  8. 板凳
    陶心昊

    测试下头像

    [回复]
  9. 沙发
    Jrotty

    还需要对QQ号长度进行判断,我认识个人是手机号加@qq.com,他说他头像不对【他有邮箱头像】,我才发下这个问题

    [回复]

发表评论