WordPress 禁止 get_avatar 调用 Gravatar 头像,替换为自定义头像

不得不说 wordpress 确实很强大,但是随着 wordpress 应用的广泛性和快速发展,其应用范围也越来越广,从当初的博客,到企业网站,再到现在的社交性的网站,越来越受到人们的欢迎。很多的功能方面有些时候也并不是适合与每一个站点,而 wordpress 默认情况下使用的是 Gravatar 头像,但是使用略有不便,比如我们国内需要翻墙才能注册这个头像,普通的网民或者用户可能很难操作吧!

而在近期做泪雪旗下网站间整合的时候,就需要把各个网站间用户的头像全部统一,而对于在 wordpress 系统本身就拥有一套头像体系的情况下,我们只能选择替换。之所以能使用替换,也是源自于 wordpress 提供了良好的接口。多的就不说了,直接上代码:

//头像重置到 i.leiue.com (last update 2018/11/12)
add_filter( 'get_avatar' , 'my_custom_avatar' , 1 , 5 );
function my_custom_avatar( $avatar, $id_or_email, $size, $default, $alt) {
	if (filter_var($id_or_email, FILTER_VALIDATE_EMAIL)) {//判断是否为邮箱
		$email = $id_or_email;//用户邮箱
		$user = get_user_by( 'email', $email );//通过邮箱查询用户信息
	}else{
		$uid = (int) $id_or_email;//获取用户 ID
		$user = get_user_by( 'id', $uid );//通过 ID 查询用户信息
	}
 
	//$user_login = $user->user_login;//用户名
	$email = $user->user_email;//用户邮箱
	$alt = $user->user_nicename;//用户昵称
	if(get_comment_author_email( $comment )){//通过评论获取邮箱
		$email = get_comment_author_email( $comment );
		$alt = get_comment_author( $comment );
	}
 
    $avatar = "https://i.leiue.com/avatar.php?email=".$email;
    $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
 
    return $avatar;
}

 

直接把以上代码粘贴在主题 functions.php 中即可。以上代码是在开发泪雪建站时所使用的,如果你有一套自己完善的头像体系,也可以使用这样的方法调用自己网站的头像。

另外泄漏一个秘密,如果你直接使用上面代码,你网站的用户头像就接入到泪雪用户中心来啦!只要你网站的用户在泪雪个人中心(i.leiue.com)注册帐户并上传了自己的头像,都可以完美的调用哦!

嘿嘿,有没有很高科技的样子?

本文链接:https://www.abcziyuan.com/wordpress-custom-user-avatar.html

开通VIP会员
分享到: 生成海报
免责声明1. 本站所有资源来源于用户上传和网络,均不允许转载,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 如发现会员转载本站资源文章,本站有权封禁会员账号!
4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
8. 如遇到加密压缩包,默认解压密码为"www.abcziyuan.com",如遇到无法解压的请联系管理员!
开通VIP会员
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活