WordPress无法显示Gravatar头像的解决方法

根据网络用户反馈,通过使用知名社交评论服务商多说提供的国内Gravatar服务,替换默认的Gravatar功能即可解决问题,且访问速度也很不错。

解决方法1:使用Gravatar的HTTPS(适用于任何主题)

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:

 代码如下 复制代码

// HackGravatatr
function wpyou_get_ssl_avatar($avatar) {
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
return $avatar;
}
add_filter('get_avatar', 'wpyou_get_ssl_avatar');

解决方法2:使用多说头像库替换(适用于任何主题)

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:

 代码如下 复制代码

// HackGravatatr
function wpyou_get_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
return $avatar;
}
add_filter( 'get_avatar', 'wpyou_get_avatar', 10, 3 );

代码正确添加到主题的 functions.php 文件后即可使用多说提供的国内Gravatar服务了,从而完美解决问题。

解决方法3:本地缓存头像

3.1、建立缓存目录

在wp-content 的同?目录建立一个文件夹,命名为 avatar ,设置该文件夹的权限为 0755 (如果 0755 不行,就试一下 0777)。

3.2、设置默认头像

准备一张大小适合的默认头像,命名为”default.jpg” ,放在 avatar 文件夹里面。

3.3、添加缓存代码

在主题目录中,找到并打开 functions.php 文件,把以下代码复制放到该文件中:

 代码如下 复制代码

// HackGravatatr
function wpyou_localcache_avatar($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('wpurl');
$e = ABSPATH .'avatar/'. $f .'.jpg';
$t = 1209600; //设定14天, 单位:秒
if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //当头像不存在或文件超过14天才更新
copy(htmlspecialchars_decode($g), $e);
} else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);
return $avatar;
}
add_filter('get_avatar', 'wpyou_localcache_avatar');

时间: 2024-12-24 20:58:05

WordPress无法显示Gravatar头像的解决方法的相关文章

WordPress无法显示Gravatar头像被墙的四种解决方案

在当前Gravatar头像服务器被墙的情况下,要想要加快Wordpress显示Gravatar头像的速度,我们可以做那些努力呢?通常的做法大致有以下几种: 1.首先可以做的就是将Gravatar头像图片缓存到自己的虚拟主机或者VPS 上,这样用户访问的就是直接读取自己服务器的图片文件.好处是访问的本地图片,图片的加载非常快!缺点也是显而易见的:运行一段时间后,大量的 Gravatar头像图片会占用非常多的空间,过多的图片导致服务器压力骤增. 2.安装插件:插件有二大类,一类是wordpress评

ASP+中文显示之两种解决方法

ASP+中文显示之两种解决方法 作者刚开始写ASP+程序时候碰到的第一个比较大的问题就是中文显示问题,运行后发现ASP+从数据库中读出来的中文全部变成了?????,有点类似jsp中的这个频率出现最高的中文显示问题了,查了资料发现有种方法可以轻松解决中文问题. 方法一: 在翻阅了微软NGWS文档后发现在文档的常见问题部分有提到要添加一个config.web文件到 web目录下,试了一下,中文显示果然OK了. 方法如下: 建立一个文件config.web,内容如下,放在WEB目录下 <configu

android真机调试时无法显示logcat信息的解决方法介绍

以下是对android真机调试时无法显示logcat信息的解决方法进行了详细的分析介绍,需要的朋友可以过来参考下   android真机调试时无法显示logcat信息的解决方法介绍: window-->show view-->android->devices, 打开devices,点击右边的截屏图片的按钮.等到出现截图的时候,logcat就出来信息了!

win7系统不能显示全屏的解决方法

  win7系统不能显示全屏的解决方法           1.打开电脑之后没,在桌面空白的地方右键点击鼠标,然后选择里面的"屏幕分辨率"选项; 2.这时候就会弹出一个窗口,找到里面分辨率设置下面的下拉框,把其中的分辨率调节至最高(推荐),接着就单击"确定"按键; 3.之后会弹出一个窗口,当询问是不是需要保存显示设置的时候,就直接单击"保存更改"按键就可以了.

电脑关机后显示蓝屏的解决方法

电脑关机后显示蓝屏的解决方法             1.点击开始菜单--运行; 2.在运行输入框中输入命令sfc /scannow,点击回车; 3.然后根据提示完成对系统文件的修复即可.

Win7系统电脑打开U盘不显示文档的解决方法

Win7系统电脑打开U盘不显示文档的解决方法   解决方法一: 1.随便打开一个文件夹,点"工具"-"文件夹选项"-"查看",选中"显示所有文件和文件夹",再去掉"隐藏已知文件类型的扩展名"选项的勾.最后点击应用. 2.找一个.rar格式的压缩文档,新建的也行,然后双击打开它,再一直点向上的那个键,转到我的电脑目录,双击U盘,就可以看到自己所有文档了. 3.凡是所有在文件夹内的内容都可以提取出来,在.rar

thinkphp验证码显示不出来的解决方法

 这篇文章主要介绍了thinkphp验证码显示不出来的解决方法,需要的朋友可以参考下 php的配置文件php.ini,搜索extension=php_gd2.dll,去掉前面的分号即可:   1.在模块类中增加一个 verify 方法来用于显示验证码    代码如下: Public function verify(){     // 导入Image类库     import("ORG.Util.Image");     Image::buildImageVerify(); }    

win7下载之后开机磁盘扫描显示蓝屏的解决方法

  win7旗舰版下载之后,很多用户在开机的时候都会对磁盘进行扫描,而且每次都会将每个分区扫描一次,不过有很多用户发现在运行的时候往往会出现直接死机或者蓝屏的现象,这到底是怎么回事呢?下面小编就给大家讲解一下win7旗舰版下载之后开机磁盘扫描显示蓝屏的解决方法. 一般的原因分析:Win7系统对硬件质量一般的要求比较高,一旦硬盘存在坏道等常见的问题,这种故障发生的概率还是很高的.其他的如果电源或主板质量不好也可能出现开机磁盘扫描显示蓝屏的现象. 出现了这样的问题,一般的解决方法是: 1.直接更换硬

Linux 下shell显示-bash-4.1$不显示用户名路径的解决方法

  Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法   问题描述:   CentOS下新增一个用户,登录进去之后shell脚本的信息如下:     而不是我们经常看到的username@hostname的组合,看起来很不舒服.   解决方案:   问题的原因是因为没有配置.bash_profile的问题,可以通过配置这个文件来解决问题.   1.在Terminal输入: vi ~/.bash_profile     2.如果没有.bash_profile可