最近访客
百度未收录

替换Gravatar头像默认服务器

替换Gravatar头像默认服务器-狐狸库
WordPress

Gravatar头像服务器应该集体被墙了,头像无法显示。兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈。

利用多说Gravatar头像中转服务器替代头像默认服务器。

将下面代码添加到当前主题functions.php文件中:

function mytheme_get_avatar( $avatar ) {
$avatar = preg_replace( \"/http://(www|d).gravatar.com/\",\"http://gravatar.duoshuo.com\",$avatar );
return $avatar;
}
add_filter( \'get_avatar\', \'mytheme_get_avatar\' );

可惜多说服务稳定性欠佳,有时也会暂时无法显示头像。如编辑已发表的文章,并且文章已有评论,还需要在文章编辑页面打开右上的“显示选项”去掉“评论”勾选,否则在点击更新文章按钮后,还是会向Gravatar头像服务器发送获取头像请求,从而影响页面加载速度。

使用https方式(SSL)调用Gravatar头服务器地址

使用方法同上,将下面代码添加到主题functions.php文件中:

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\');

貌似添加以上代码后,一些头像缓存插件也将失效。

使用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\';
} else {
    if ( !emptyempty($email) )
        $host = sprintf( \"http://%d.gravatar.com\", ( hexdec( $email_hash[0] ) % 2 ) );
    else
        $host = \'http://0.gravatar.com\';
}

替换为:

$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 );

之所以说“笨”是因为下次更新程序,还需要再次修改,不过这个方法最实用。

以上方法主要针对使用用国内主机用户,使用国外主机这时优势突显,并不需要修改任何东西,安装头像缓存插件,将头像缓存到本地,并不影响正常使用。

fonts.googleapis.com和gravatar.com被墙,严重影响了Wordpress用户体验,对新手熟习Wordpress的造成极大障碍。

温馨提示:本文最后更新于2022/10/20 03:50:08。若文章内容或图片失效,请留言联系站长反馈!
!
也想出现在这里? 联系我们
创意广告
© 版权声明
THE END
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容