WordPress随机调用本地头像方法

2021年03月13日

大家都知道,WordPress原本是调用的Gravatar头像,但是在国内,因为某些原因,Gravatar被封了,所以导致Wordpress的头像调用有些问题,再加上Gravatar的头像也不太如人意,所以我们完全可以通过DIY来进行改变我们的头像调用。在开始之前,需要做以下的工作。

★在当前主题目录中新建一个名称为avatar的文件夹
★准备好图片,比如1.jpg、2.jpg、3.jpg、4.jpg、5.jpg、6.jpg、7.jpg、8.jpg、8.jpg、9.jpg、10.jpg,另外和一张用于管理员的图片,名称我们可命名为admin.jpg!
★将图片上传至当前主题目录下的avatar文件夹下
★找到当前主题functions.php文件
★添加代码至functions.php中

/*
 * 这是修改管理员与回复用户头像代码
 * */
add_filter( 'get_avatar' , 'local_random_avatar' , 1 , 5 );
function local_random_avatar( $avatar, $id_or_email, $size, $default, $alt) {
    if ( ! empty( $id_or_email->user_id ) ) {
        $avatar = ''.get_template_directory_uri().'/avatar/admin.png';
    }else{
        $random = mt_rand(1, 20);
        $avatar = ''.get_template_directory_uri().'/avatar/'. $random .'.png';
    }
    $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
    return $avatar;
}

1、$random = mt_rand(1,20); 这一行里的20是图片的数量

2、如果你的图片是.jpg格式的,请将.png改成.jpg

3、Wordpress后台开启头像

增加WordPress后台头像选项

在当前的主题的 functions.php 的最后一个 ?> 前面添加下面的代码

add_filter( 'avatar_defaults', 'newgravatar' );  
 
function newgravatar ($avatar_defaults) {  
    $myavatar = get_bloginfo('template_directory') . '/images/wpdaxue-gravatar.jpg';  
    $avatar_defaults[$myavatar] = "自定义头像";  
    return $avatar_defaults;  
}

根据用户邮箱显示Gravatar头像

将下面的代码添加到主题的 functions.php 文件,可以把gravatar的地址改成自己网站的地址,相当于自己架设了一个头像服务器。

function wpdaxue_display_gravatar() { 
  global $current_user;
  get_currentuserinfo();
  // 获取用户的邮箱地址
  $getuseremail = $current_user->user_email;
  // 将邮箱转换成MD5哈希值,并设置图像的大小为32像素
  $usergravatar = 'http://www.gravatar.com/avatar/' . md5($getuseremail) . '?s=32';
  echo '<img src="' . $usergravatar . '" class="wpd_gravatar" />';
}

然后通过下面的代码调用当前用户的Gravatar头像:

  

<?php wpdaxue_display_gravatar(); ?>


sicnature ---------------------------------------------------------------------
I P 地 址: 3.128.255.168
区 域 位 置: 美国
系 统 信 息: 美国
Original content, please indicate the source:
同福客栈论坛 | 蟒蛇科普海南乡情论坛 | JiaYu Blog
sicnature ---------------------------------------------------------------------
Welcome to reprint. Please indicate the source https://myzhenai.com.cn/post/3752.html

2条评论

  • 111 2023年07月14日在9:45 上午

    我的主题不行啊?

    • 海南胡说 2023年07月18日在8:41 上午

      是根据步骤要求来修改的吗?
      1、本地图片上传了没有?路径对不对?
      2、检查一下你的代码

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注