替换Gravatar头像默认服务器
发布:smiling 来源: PHP粉丝网 添加日期:2015-09-23 16:37:51 浏览: 评论:0
这几天Gravatar头像服务器应该集体被墙了,头像无法显示,兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈.
利用多说Gravatar头像中转服务器替代头像默认服务器,将下面代码添加到当前主题functions.php文件中:
function mytheme_get_avatar( $avatar ) {
$avatar = preg_replace( "/http:\/\/(www|\d).gravatar.com/","http://gravatar.duoshuo.com",$avatar );
可惜多说服务稳定性欠佳,有时也会暂时无法显示头像,如编辑已发表的文章,并且文章已有评论,还需要在文章编辑页面打开右上的“显示选项”去掉“评论”勾选,否则在点击更新文章按钮后,还是会向Gravatar头像服务器发送获取头像请求,从而影响页面加载速度.
使用https方式(SSL)调用Gravatar头服务器地址
使用方法同上,将下面代码添加到主题functions.php文件中:
function get_ssl_avatar($avatar) {
$avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','"https://secure.gravatar.com/avatar/$1?s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
貌似添加以上代码后,一些头像缓存插件也将失效.
使用Gravatar Fixed 头像修正插件
插件设置页面,将Gravatar 服务器和Gravatar SSL 服务器,全部改为:https://secure.gravatar.com
插件下载页面
另一个比较笨的方法:打开wordpress程序目录的wp-includes文件夹,找到pluggable.php(WP4.2之前版本)打开,将大约2150至2157行:
if ( is_ssl() ) {
替换为:
$host = 'https://secure.gravatar.com';
或者(支持头像缓存插件)
$host = 'http://cn.gravatar.com';
WP4.2之后版本,打开wordpress程序目录的wp-includes文件夹,打开link-template.php,将大约第3604行的:
$url = sprintf( 'http://%d.gravatar.com/avatar/%s', $gravatar_server, $email_hash );
$url = sprintf( 'http://cn.gravatar.com/avatar/%s', $email_hash );
之所以说“笨”是因为下次更新程序,还需要再次修改,不过这个方法最实用.
以上方法主要针对使用用国内主机用户,使用国外主机这时优势突显,并不需要修改任何东西,安装头像缓存插件,将头像缓存到本地,并不影响正常使用.
推荐几款Gravatar头像缓存插件
fonts.googleapis.com和gravatar.com被墙,严重影响了Wordpress用户体验,对新手熟习Wordpress的造成极大障碍.
Tags: Gravatar头像 Gravatar打不开
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)