WordPress默认的头像是读取gravatar.com上的图片的,但是Gravatar头像服务器在国内被墙了,会导致头像无法显示,从而拖垮网页打开速度。
f12查看网站,如果出现0.gravatar.com开头的网址就需要优化
后台设置
打开 “设置” → “讨论”,向下滚动,找到 “头像” 设置区域
显示本地头像
在wp-includes/pluggable.php内修改get_avatar函数:
function get_avatar( $id_or_email, $size = 96, $default = ”, $alt = ”, $args = null ) {
if (!get_option(‘show_avatars’))
return false;
if ( false === $alt)
$safe_alt = ”;
else
$safe_alt = esc_attr( $alt );
if ( !is_numeric($size) )
$size = ’96’;
// 默认头像: wp-includes/images/noavatar.png
$default = includes_url(‘images/noavatar.png’);
//生成头像,如果使用插件这里的内容将会被替换
$url = $default;
$url2x = $default;
$class = [];
$avatar = sprintf(
“<img alt=’%s’ src=’%s’ srcset=’%s’ class=’%s’ height=’%d’ width=’%d’ %s/>”,
esc_attr( $args[‘alt’] ),
esc_url( $url ),
esc_url( $url2x ) . ‘ 2x’,
esc_attr( join( ‘ ‘, $class ) ),
(int) $args[‘height’],
(int) $args[‘width’],
$args[‘extra_attr’]
);
return apply_filters(‘get_avatar’, $avatar, $id_or_email, $size, $default, $alt);
}