WordPress自带的Gravatar头像加载很慢,不过很多相关的WordPress插件能够解决这个问题,虽然使用SSL线路可以加快Gravatar头像访问,但是如果不结合本地缓存,依旧会觉得加载缓慢。默认的情况下会小时WordPres自带的头像,那头像个人觉得不太美观。那么如何使用纯代码实现WordPress显示随机头像?
功能代码
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.jpg\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';}else{ $random = mt_rand(1, 10); $avatar = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.get_template_directory_uri().\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'/avatar/\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'. $random .\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'.jpg\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\';}$avatar = \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"<img alt=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'{$alt}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' src=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'https://www.wpzt.net/{$avatar}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' class=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'avatar avatar-{$size} photo\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' height=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'{$size}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' width=\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'{$size}\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' />\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\";return $avatar; }
使用方法
将以上代码加入到你主题的function.php文件保存即可。
代码解释
其中mt_rand(1, 10);数字为随机图片张数可以自行修改。
图片设置
在当前主题目录中新建一个名称为avatar的文件夹,里面放10张名称连续的jpg图片,比如1.jpg、2.jpg、3.jpg………,和一张用于管理员的图片,名称为admin.jpg
添加上面代码后,只有管理员是显示特定的图片,其他留言者都是随机显示预先准备的头像图片,包括注册用户。