Using the QQ Avatar Source for WordPress Comments with QQ Email
It must be said that many people in China are not accustomed to using email, and some do not even have Gravatar avatars. Accordingly, the theme has been optimized to some extent for the situation in China. If a QQ email address is used, the QQ avatar is called; otherwise, the Gravatar avatar continues to be called. This is convenient for both QQ users and Gravatar users. This method does not slow down webpage loading, so it can be said to be a relatively good method.

First, we found the interface for obtaining a QQ avatar: https://q.qlogo.cn/g?b=qq&nk=52958812&s=100. However, we cannot directly obtain the commenter's QQ number, so we need to obtain the commenter's email address:
get_comment($parent_id)->comment_author_email);
With the email address, determine whether it is a QQ email address:
if(strpos($qqmail, '@qq.com'))
If it is a QQ email address, call the QQ avatar:
$avatar_source = 'q.qlogo.cn';
$img = 'g?b=qq&nk=' . preg_replace('/@qq.com/', '', $qqmail) . '&s=100';
Otherwise, continue to call the Gravatar avatar:
$avatar_source = 'cn.gravatar.com';
$img = 'avatar/$1?s=$2';
Thus, this problem is happily solved.
The complete code is as follows:
// 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]+)&.*/', '<img class="avatar avatar-$2" src="' . $protocol . '://' . $avatar_source . '/' . $img . '" width="$2" height="$2" />', $avatar);
return $avatar;
}
add_filter('get_avatar', 'get_avatar_javst');
Comments
(11)看看,试试
怎么使用呢?
QQ获取头像的接口改了,WordPress获取头像的方式也变了,这篇教程作废
www.zhulouren.com 测试
你在测试啥
不能拉去qq用户的名称吗?
API可能已经失效了,毕竟是几年前写的
有机会能,交换一个友链吗?我的网站还在建设
您的网站是做什么内容的
一知半解啦
请问 你这个 如何 做到 呢 好好玩