根治WordPress Gravatar头像加载卡的问题:WordPress加速之Gravatar头像缓存本地化

文 / @UTHEME

在 WordPress 中缓存 Gravatar 头像并将其本地化是很简单的。你可以使用一个插件来完成这个任务,或者手动完成。

使用插件进行Gravatar头像缓存本地化

  1. 在 WordPress 后台中安装并激活 "Cache Gravatar Images" 或 "Gravatar Cache" 插件。
  2. 进入插件的设置页面,并按照插件的说明进行设置。
  3. 访问你的网站,看看头像是否被缓存到本地了。

使用代码进行Gravatar头像缓存本地化

  1. 在你的主题的 functions.php 文件中添加以下代码:
function utheme_avatar_cache( $avatar ){
$tmp = strpos( $avatar, 'http' );
$g = substr( $avatar, $tmp, strpos( $avatar, '\'', $tmp ) - $tmp );
$tmp = strpos( $g, 'avatar/' ) + 7;
$f = substr( $g, $tmp, strpos( $g, '?', $tmp ) - $tmp );
$w = get_bloginfo( 'template_directory' );
$path = TEMPLATEPATH . '/avatar';
$e = $path . '/' . $f . '.png';
$t = 604800; //設定7天, 單位:秒
if( !is_file( $e ) || ( time() - filemtime( $e ) ) > $t ) copy( htmlspecialchars_decode( $g ), $e );
else $avatar = strtr( $avatar, array( $g => $w . '/avatar/' . $f . '.png' ) );
if( filesize( $e ) < 500 ) copy( TEMPLATEPATH . '/avatar/default.png', $e );
return $avatar;
}
add_filter('get_avatar', 'utheme_avatar_cache' );
  1. 然后,在你所使用的WordPress主题根目录内新建名为“avatar”的文件夹,并设置文件夹权限为777。
  2. 最后放一个PNG格式的图片(名为default)作为默认头像。这样,刷新你们的网站,再看看,头像的地址是不是本地化了。
添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。