当前位置:首页 > CMS教程 > WordPress > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 16:20:38 浏览: 评论:0 

Gravatar头像是现在博客通用的一个调用方法了,很多朋友的个人博客都使用了Gravatar头像了,但最近有很多站长发现Gravatar头像打开缓慢了,那么我们要如何解决Gravatar图片打不开或者打开慢的问题呢?下面来看看吧.

第一、如果我们还需要使用Gravatar头像,代码如下:

  1. function get_ssl_avatar($avatar) { 
  2. $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); 
  3. return $avatar
  4. add_filter('get_avatar''get_ssl_avatar'); 

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

第二、使用本地头像,代码如下:

  1. function my_avatar($avatar) { 
  2. $tmp = strpos($avatar'http'); 
  3. $g = substr($avatar$tmpstrpos($avatar"'"$tmp) - $tmp); 
  4. $tmp = strpos($g'avatar/') + 7; 
  5. $f = substr($g$tmpstrpos($g"?"$tmp) - $tmp); 
  6. $w = get_bloginfo('wpurl'); 
  7. $e = ABSPATH .'avatar/'$f .'.jpg'
  8. $t = 1209600; //开源软件:phpfensi.com 
  9. if ( !is_file($e) || (time() - filemtime($e)) > $t ) { 
  10. copy(htmlspecialchars_decode($g), $e); 
  11. else $avatar = strtr($avatararray($g => $w.'/avatar/'.$f.'.jpg')); 
  12. if (filesize($e) < 500) copy($w.'/avatar/default.jpg'$e); 
  13. return $avatar
  14. add_filter('get_avatar''my_avatar'); 

同样的,在FUNCTIONS.PHP文件中,加入上面的代码,把头像缓存本地,同样的使用avatar文件夹作为根目录,可以先放入一个default.jpg作为默认不存在的头像展示图片.

第三、使用第三方评论插件

使用第三方评论插件可以展示头像的,目前不存在调用问题,之前老左也写过一篇"点评四款社会化评论系统",目前使用较多的还是多说和畅言,前者用户体验还可以,就是服务器宕机不稳定,后者基于搜狐提供的,界面一般,但服务器是比较稳定的.

Tags: Gravatar头像 Gravatar不显示

分享到: