[调用接口]解决调用远程Gravatar头像图片不显示问题

更新时间:2019-08-14    来源:英文短信    手机版     字体:

【www.bbyears.com--英文短信】

第一、如果我们还需要使用Gravatar头像

 代码如下 function get_ssl_avatar($avatar) {
$avatar = preg_replace("/.*\/avatar\/(.*)\?s=([\d]+)&.*/","",$avatar);
return $avatar;
}
add_filter("get_avatar", "get_ssl_avatar");

在当前WORDPRESS主题中的FUNCTIONS.PHP页面中加入上面的代码,因为HTTP直接访问不了,这里调整为HTTPS的路径地址。
第二、使用本地头像

 代码如下 function my_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;
if ( !is_file($e) || (time() - filemtime($e)) > $t ) {
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", "my_avatar");

同样的,在FUNCTIONS.PHP文件中,加入上面的代码,把头像缓存本地,同样的使用avatar文件夹作为根目录,可以先放入一个default.jpg作为默认不存在的头像展示图片。
第三、使用第三方评论插件
使用第三方评论插件可以展示头像的,目前不存在调用问题,之前老左也写过一篇"点评四款社会化评论系统",目前使用较多的还是多说和畅言,前者用户体验还可以,就是服务器宕机不稳定。后者基于搜狐提供的,界面一般,但服务器是比较稳定的。

本文来源:http://www.bbyears.com/zhufuduanxin/62127.html