WordPress 댓글에서 QQ 아바타 소스 호출
16,002 11
국내에서는 많은 사람들이 이메일 사용에 익숙하지 않고, 심지어 Gravatar 아바타도 사용하지 않는다는 점을 부정할 수 없습니다. 국내 상황에 맞춰 테마를 어느 정도 최적화했습니다. QQ 이메일을 사용하는 경우 QQ 아바타를 호출하고, 그렇지 않으면 계속해서 Gravatar 아바타를 호출합니다. 이렇게 하면 QQ 사용자와 Gravatar 사용자 모두에게 편리합니다. 이 방법은 웹 페이지 로딩 속도를 늦추지 않으므로 비교적 좋은 방법이라고 할 수 있습니다.

먼저 QQ 아바타를 가져오는 인터페이스 https://q.qlogo.cn/g?b=qq&nk=52958812&s=100를 찾았습니다. 그러나 댓글 작성자의 QQ를 직접 가져올 수는 없으므로 댓글 작성자의 email 주소를 가져와야 합니다:
PHP PHP
get_comment($parent_id)->comment_author_email);
email 주소를 얻었으므로 QQ 이메일인지 판단합니다:
PHP PHP
if(strpos($qqmail, '@qq.com'))
QQ 이메일인 경우 QQ 아바타를 호출합니다:
PHP PHP
$avatar_source = 'q.qlogo.cn';
$img = 'g?b=qq&nk=' . preg_replace('/@qq.com/', '', $qqmail) . '&s=100';
그렇지 않으면 계속해서 Gravatar 아바타를 호출합니다:
PHP PHP
$avatar_source = 'cn.gravatar.com';
$img = 'avatar/$1?s=$2';
이렇게 해서 이 문제를 깔끔하게 해결할 수 있습니다.
전체 코드는 다음과 같습니다:
PHP PHP
// 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');
댓글
(11)看看,试试
怎么使用呢?
QQ获取头像的接口改了,WordPress获取头像的方式也变了,这篇教程作废
www.zhulouren.com 测试
你在测试啥
不能拉去qq用户的名称吗?
API可能已经失效了,毕竟是几年前写的
有机会能,交换一个友链吗?我的网站还在建设
您的网站是做什么内容的
一知半解啦
请问 你这个 如何 做到 呢 好好玩