我是靠谱客的博主 等待钢笔,最近开发中收集的这篇文章主要介绍WordPress自定义gravatar头像,缓存Gravatar头像为网站提速,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

WordPress评论是一个网站的灵魂,直接决定着网站的收录和权重,然而wordpress头像默认的是gravatar头像,访问网站时,读取速度非常慢,gravatar头像的服务器是国外的,这不光自己的头像慢,其它评论者的头像下载速度也慢,所以抛弃使用gravatar源地址吧。

关于WordPress头像的设置,想必大多数的博客站长会非常注重,无论是博主的头像,还是评论者的头像,直接影响着网站的精神面貌。

Gvatar的评论头像在文章底部的评论栏里出现或者在侧边栏出现,一般来说,评论头像越多,网站人气越足。国内有不少的wordpress博客主文章粘度很高,每一篇文章都超过了100个评论,生成100多个不同的评论头像,从某种意义评论头像列表上还能美化网站。

种种原因,使用wordpress默认的gravatar头像,影响网站访问体验,所以要修改成本地的自定义头像,如此访问速度才会快速。当然你也可以不显示头像,只显示评论名称,有不少博主取消了gravatar头像,是否显示头像,自己决定,反正我感觉显示头像,评论栏更好看。

博主添加自定义头像
编辑主题functions.php文件,把下边代码复制到第二行,也就是<?php下边。把主题图片文件夹logo所在的位置/images/logo-trans.png改成改成自己的路径,直接复制logo地址,粘贴修改下就行了,默认头像直接写自己博客名称就行,再访问博客头像,就变成本地地址的了。

add_filter( ‘avatar_defaults’, ‘newgravatar’ );
function newgravatar ($avatar_defaults) {
$myavatar = get_bloginfo(‘template_directory’) . ‘/images/wpdaxue-gravatar.jpg’;
$avatar_defaults[$myavatar] = “思德心语”;
return $avatar_defaults;
}

博客注册会员添加自定义头像
如果博客开放了注册会员功能,可以使用Simple Local Avatars和 WP User Avatar,为注册用户提供上传自定义头像功能。插件启用后,你就可以在后台 >用户>我的个人资料 下看到自定义头像上传功能了

Simple Local Avatars上传方法:

WordPress自定义gravatar头像,缓存Gravatar头像为网站提速
WP User Avatar上传方法:

WordPress自定义gravatar头像,缓存Gravatar头像为网站提速
缓存gravatar头像为网站提速
评论者有没有设置自定义Gravatar头像时,访问网站读取Gravatar网站的图片,非常的慢,一直在那转圈,影响访问体验,有两种方式缓存Gravatar头像的方式,一种是缓存Gravatar头像到本地,一种是缓存Gravatar到七牛云存储上。

第一种方式:缓存Gravatar头像到本地

在主机根录创建一个权限755的avatar文件夹,必须有这个755的写入权限,要不然缓存不上图像,上传一个default.jpg的默认头像到该文件夹里。复制下边代码到<?php下边,评论者的头像就逐渐的缓存到avatar文件夹了。

 function my_avatar( $email, $size = ’32’, $default = ”, $alt = ”) {
 $f = md5( strtolower( $email ) );
 // 以下代码将头像缓存到wp-content目录下
 $a = get_bloginfo(‘template_url’) . ‘/avatar/’. $f . $size . ‘.png’;
 $e = get_template_directory() . ‘/avatar/’ . $f . $size . ‘.png’;
 $d = get_template_directory() . ‘/avatar/’ . $f . ‘-d.png’;
 // 如果要将头像缓存到当前主题目录下,请将3-5行代码改成:
 // $a = get_bloginfo(‘template_url’) . ‘/avatar/’. $f . $size . ‘.png’;
 // $e = get_template_directory() . ‘/avatar/’ . $f . $size . ‘.png’;
 // $d = get_template_directory() . ‘/avatar/’ . $f . ‘-d.png’;
 if($default==”)
 $default = get_bloginfo(‘wpurl’).’avatar/default.jpg’;
 $t = 2592000; // 缓存有效期30天, 这里单位:秒
 if ( !is_file($e) || (time() – filemtime($e)) > $t ) {
 if ( !is_file($d) || (time() – filemtime($d)) > $t ) {
 // 验证是否有头像
 $uri = ‘http://www.gravatar。com/avatar/’ . $f . ‘?d=404’;
 $headers = @get_headers($uri);
 if (!preg_match(“|200|”, $headers[0])) {
 // 没有头像,则新建一个空白文件作为标记
 $handle = fopen($d, ‘w’);
 fclose($handle);
 $a = $default;
 }
 else {
 // 有头像且不存在则更新:发条常识网https://www.fatiao.net/
 $r = get_option(‘avatar_rating’);
 $g = ‘http://www.gravatar。com/avatar/’. $f. ‘?s=’. $size. ‘&r=’ . $r;
 copy($g, $e);
 }
 }
 else {
 $a = $default;
 }
 }
 $avatar = “<img alt='{$alt}’ src='{$a}’ class=’ avatar avatar-{$size} photo ‘    height='{$size}’ width='{$size}’ />”;
 return apply_filters(‘my_avatar’, $avatar, $email, $size, $default, $alt);

第二种方式:缓存Gravatar头像到七牛云存储

七牛云存储的CDN加速,就是缓存静态文件,自然也就可以缓存Gravatar图片了,其它的站内的图片、css等静态文件也可以缓存。

最后

以上就是等待钢笔为你收集整理的WordPress自定义gravatar头像,缓存Gravatar头像为网站提速的全部内容,希望文章能够帮你解决WordPress自定义gravatar头像,缓存Gravatar头像为网站提速所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部