大家都知道,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中
★准备好图片,比如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(); ?>