大家都知道,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(); ?>
点击阅读余下全文