首页CMS解决WordPress评论用户无Gravatar头像显示随机图片

解决WordPress评论用户无Gravatar头像显示随机图片

时间2024-05-22 21:16:03发布访客分类CMS浏览169
导读:如果我们有在使用WordPress程序且开放评论的话,如果有用户评论的时候那头像是从我们的评论者邮件地址获取到的Gravatar头像。对于大部分用户而言,我们是没有去Gravatar设置头像的,所以有些时候我们看到用户评论时候的头像是空白的...

如果我们有在使用WordPress程序且开放评论的话,如果有用户评论的时候那头像是从我们的评论者邮件地址获取到的Gravatar头像。对于大部分用户而言,我们是没有去Gravatar设置头像的,所以有些时候我们看到用户评论时候的头像是空白的。

如果我们希望界面美观度一些,可以设置随机图片。

    /**     * 为没有Gravatar头像的用户加载随机头像     * @author INLOJV     * @URI  http://www.inlojv.com/20170521randomgravatar.html ‎     *      */    add_filter( 'get_avatar' , 'inlojv_custom_avatar' , 10 , 5 );
    function inlojv_custom_avatar( $avatar, $id_or_email, $size, $default, $alt) {
             global $comment,$current_user;
            // $id_or_email的值:后台右上角登录用户头像为id,其他为邮箱,下面做一个判断    $current_email =  is_int($id_or_email) ? get_user_by( 'ID', $id_or_email )->
    user_email : $id_or_email;
            $email = !empty($comment->
    comment_author_email) ? $comment->
    comment_author_email : $current_email ;
             $random_avatar_arr = array(    	'//tva1.sinaimg.com/square/6b002b97gy1ffs6ulm8ojj20690690sl.jpg',    	'//tva1.sinaimg.com/square/6b002b97gy1ffs6ulfp76j2069069t8p.jpg',    	'//tva1.sinaimg.com/square/6b002b97gy1ffs6ukuo5dj2069069a9w.jpg',    	'//tva1.sinaimg.com/square/6b002b97gy1ffs6ujijfoj206z05l746.jpg',    	'//tva1.sinaimg.com/square/6b002b97gy1ffs6uimd6zj207705edfr.jpg'    );
             $email_hash = md5(strtolower(trim($email)));
             $random_avatar = array_rand($random_avatar_arr,1);
            $src = $random_avatar_arr[$random_avatar] ;
        // JV提示:d参数404 onerror 方法 - 速度最快    $avatar = "img alt='{
$alt}
' src='//secure.gravatar.com/avatar/{
$email_hash}
?d=404' onerror='javascript:this.src=\"{
$src}
    \";
    this.onerror=null;
' class='avatar avatar-{
$size}
 photo' height='{
$size}
' width='{
$size}
    ' />
    ";
            // JV提示:d参数default_img 方法 - 速度稍逊    // $src = urlencode( $src );
    //$avatar = "img alt='{
$alt}
' src='//secure.gravatar.com/avatar/{
$email_hash}
?d={
$src}
' class='avatar avatar-{
$size}
 photo' height='{
$size}
' width='{
$size}
    ' />
    ";
                 return $avatar;
    }
    

这里可以参考来自INLOJV的方法,我们只需要将默认的几个图片换成我们自己的图片就可以。

其他关于Gravatar头像的参考文章:

1、注册Gravatar账户且定义个性化留言评论头像 - 注册及设置过程

2、无插件设置WordPress Gravatar默认头像方法

3、利用七牛镜像存储缓存提高Gravatar头像打开速度

4、2种解决Gravatar头像不显示/速度慢的方法

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 解决WordPress评论用户无Gravatar头像显示随机图片
本文地址: https://pptw.com/jishu/665851.html
spark中mlib的功能有哪些 zookeeper单节点部署的方法是什么

游客 回复需填写必要信息