解决调用远程Gravatar头像图片不显示问题
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-04 16:20:38 浏览: 评论:0
Gravatar头像是现在博客通用的一个调用方法了,很多朋友的个人博客都使用了Gravatar头像了,但最近有很多站长发现Gravatar头像打开缓慢了,那么我们要如何解决Gravatar图片打不开或者打开慢的问题呢?下面来看看吧.
第一、如果我们还需要使用Gravatar头像,代码如下:
- function 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', '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; //开源软件:phpfensi.com
- 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作为默认不存在的头像展示图片.
第三、使用第三方评论插件
使用第三方评论插件可以展示头像的,目前不存在调用问题,之前老左也写过一篇"点评四款社会化评论系统",目前使用较多的还是多说和畅言,前者用户体验还可以,就是服务器宕机不稳定,后者基于搜狐提供的,界面一般,但服务器是比较稳定的.
Tags: Gravatar头像 Gravatar不显示
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)