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

时间:2020-12-18  来源:WordPress  阅读:

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

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

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

 代码如下

// HackGravatatr
function wpyou_get_ssl_avatar($avatar) {
$avatar = preg_replace("/.*\/avatar\/(.*)\?s=([\d]+)&.*/","",$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");

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

http://m.bbyears.com/wangyezhizuo/117277.html

推荐访问:wordpress主题 wordpress教程 wordpress大学
相关阅读 猜你喜欢
本类排行 本类最新