Php 修改get_avatar()函数

Php 修改get_avatar()函数,php,wordpress,function,avatar,gravatar,Php,Wordpress,Function,Avatar,Gravatar,我找到了一个很棒的教程来创建自定义的头像()。基本上它检查: 1) 如果有自定义的化身,请使用它 2) 如果没有自定义的头像,请检查是否有坟墓。如果有坟墓,就用它 3) 如果两者都没有,则显示默认值 问题是,我已经在我的wordpress上注册了用户,所以每当他们发表评论时,它都会使用我为作者设置的自定义化身,用于所有注册了电子邮件的评论人 这是我正在努力解决的代码部分: // If provided an email and it doesn't exist as WP user, retur

我找到了一个很棒的教程来创建自定义的头像()。基本上它检查:

1) 如果有自定义的化身,请使用它

2) 如果没有自定义的头像,请检查是否有坟墓。如果有坟墓,就用它

3) 如果两者都没有,则显示默认值

问题是,我已经在我的wordpress上注册了用户,所以每当他们发表评论时,它都会使用我为作者设置的自定义化身,用于所有注册了电子邮件的评论人

这是我正在努力解决的代码部分:

// If provided an email and it doesn't exist as WP user, return avatar since there can't be a custom avatar
$email = is_object( $id_or_email ) ? $id_or_email->comment_author_email : $id_or_email;
if( is_email( $email ) && ! email_exists( $email ) )
    return $avatar;

$custom_avatar = get_the_author_meta('be_custom_avatar');
if ($custom_avatar) 
    $return = '<img src="'.$custom_avatar.'" width="'.$size.'" height="'.$size.'" alt="'.$alt.'" />';
elseif ($avatar) 
    $return = $avatar;
else 
    $return = '<img src="'.$default.'" width="'.$size.'" height="'.$size.'" alt="'.$alt.'" />';
return $return;
//如果提供了一封电子邮件,但该电子邮件不作为WP用户存在,请返回头像,因为不能有自定义头像
$email=is\u object($id\u或\u email)$id\u或电子邮件->评论\u作者\u电子邮件:$id\u或\u电子邮件;
如果(电子邮件($email)和电子邮件($email))存在
返回$avatar;
$custom_avatar=获取作者元('be_custom_avatar');
如果($custom_avatar)
$return='';
艾尔塞夫($阿凡达)
$return=$avatar;
其他的
$return='';
return$return;
我如何进行检查,以便如果用户配置文件中的“be_custom_avatar”为空,并且他们没有gravatar设置,它将返回默认的wordpress$avatar


谢谢你在WordPress中添加你自己的头像

add_filter('avatar_defaults'、'custom_avatar');
功能自定义化身($avatar\u默认值){
$custom_avatar=get_stylesheet_directory_uri()。/images/default avatar.jpg';
$avatar\u defaults[$custom\u avatar]=“我的默认化身”;
返回$avatar_默认值;

}
这与本教程的代码相同()。这解决了添加自定义头像的问题,但它无法完成以下任务:1)允许每个作者用户配置文件使用自定义头像。2) 检查用户是否有本地托管的化身,如果没有,使用自定义化身检查他们是否有坟墓,如果没有设置。