在本站博客中很多评论留言者并没有申请Gravatar头像,显示出来的是WordPress自带的头像,看起来很不协调。
下面分享一段在Wopus网站上看到的WordPress随机显示本地头像来替代Gravatar的代码,预先准备一些漂亮的图片代替WordPress自带的头像。
准备头像图片
在当前主题目录中新建一个名称为avatar的文件夹,里面放10张名称连续的jpg图片,比如1.jpg、2.jpg、3.jpg.........10.jgp,和一张用于管理员的图片,名称为admin.jpg
添加程序代码
将下面代码添加到当前主题functions.php
中:
- add_filter( 'get_avatar' , 'local_random_avatar' , 1 , 5 );
- function local_random_avatar( $avatar, $id_or_email, $size, $default, $alt) {
- if ( ! emptyempty( $id_or_email->user_id ) ) {
- $avatar = ''.get_template_directory_uri().'/avatar/admin.jpg';
- }else{
- $random = mt_rand(1, 10);
- $avatar = ''.get_template_directory_uri().'/avatar/'. $random .'.jpg';
- }
- $avatar = "<img alt='{$alt}' src='{$avatar}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
- return $avatar;
- }
其中:mt_rand(1,10);
数字为随机图片张数可以自行修改。
添加上述代码后,只有管理员是显示固定的图片,其他留言者都是随机显示预先准备的头像图片,包括注册用户。
也可以安装本地上传头像插件:Simple Local Avatars,让注册用户在后台上传头像,从而显示自己固定的头像。
评论