!
也想出现在这里? 联系我们
广告位
当前位置:首页>开发>WordPress开发实例>解决 WordPress Gravatar 头像无法访问的方法-轻松解决头像加载问题

解决 WordPress Gravatar 头像无法访问的方法-轻松解决头像加载问题

什么是Gravatar Gravatar是WordPress母公司Automattic推出的一个公共头像服务,…--由S9社区整理

文本是《wordpress主题完整开发系列(共30篇)》专题的第 30 篇。阅读本文前,建议先阅读前面的文章:

什么是Gravatar

Gravatar是WordPress母公司Automattic推出的一个公共头像服务,也是WordPress默认的头像服务。但因为长城防火墙的存在,Gravatar在中国时不时就会被墙一下,比如本次从2021年2月一直到8月都是不可访问状态。

在以往的时候,国内的CDN厂商和博客主会使用反代的方式确保Gravatar在国内能正常访问,但老实说,这种方式很容易就会吃牢饭。不妨想一下,Gravatar为什么会墙?一定是出现了某些涉政、涉黄之类的违法内容。这些国家禁止的东西,我们将其反代入国内,可谓是细思极恐。同时反代也只能解决头像访问的问题,而解决不了头像上传的问题。

使用Cravatar替代Gravatar

Cravatar是WordPress本土化计划中生态基础设施的一部分,就和LitePress.cn构建的翻译平台及应用市场一样。

Cravatar 100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。同时,作为对中国互联网环境的特别适配,Cravatar支持在用户未设置Cravatar头像及Gravatar头像时匹配QQ头像(仅限于使用QQ数字邮箱的用户),这一切是自动进行的,用户对此无感知。其带来的效果是:经过三级匹配(Cravatar头像->Gravatar头像->QQ头像)后,大约70%的访客都会得到准确的头像。

此外,Cravatar平台还会对所有头像进行人工审核,确保不会出现害群之马。

总的来说,Cravatar在100%兼容Gravatar的同时还有以下优势:

更快的速度 – 服务完全架设并运行在中国大陆境内,提供毫秒级的响应速度
更高的稳定性 – 所有头像经人工审核确保不会出现违规内容,也就不会出现时不时访问不了的情况
更高的头像展现率 – 在自有头像库的基础上囊括了Gravatar和QQ的头像库,可谓集天下之大成

如何使用

将以下代码加入你的主题的functions.php文件或您的插件中即可启用。

 
if ( ! function_exists( 'get_cravatar_url' ) ) {
    /**
     *替换Gravatar头像为Cravatar头像
     *
     * @param string $url
     *
     * @return string
     */
    function get_cravatar_url( $url ) {
        $sources = array(
            'www.gravatar.com',
            '0.gravatar.com',
            '1.gravatar.com',
            '2.gravatar.com',
            'secure.gravatar.com',
            'cn.gravatar.com'
        );
        return str_replace( $sources, 'cravatar.cn', $url );
    }
    add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );
    add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );
    add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
}
 
if ( ! function_exists( 'set_defaults_for_cravatar' ) ) {
    /**
     * 替换WordPress讨论设置中的默认头像
     */
    function set_defaults_for_cravatar( $avatar_defaults ) {
        $avatar_defaults['gravatar_default'] = 'Cravatar 标志';
 
        return $avatar_defaults;
    }
 
    add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 );
}

if ( ! function_exists( ‘get_cravatar_url’ ) ) {
/**
*替换Gravatar头像为Cravatar头像
*
* @param string $url
*
* @return string
*/
function get_cravatar_url( $url ) {
$sources = array(
‘www.gravatar.com’,
‘0.gravatar.com’,
‘1.gravatar.com’,
‘2.gravatar.com’,
‘secure.gravatar.com’,
‘cn.gravatar.com’
);
return str_replace( $sources, ‘cravatar.cn’, $url );
}
add_filter( ‘um_user_avatar_url_filter’, ‘get_cravatar_url’, 1 );
add_filter( ‘bp_gravatar_url’, ‘get_cravatar_url’, 1 );
add_filter( ‘get_avatar_url’, ‘get_cravatar_url’, 1 );
}

if ( ! function_exists( ‘set_defaults_for_cravatar’ ) ) {
/**
* 替换WordPress讨论设置中的默认头像
*/
function set_defaults_for_cravatar( $avatar_defaults ) {
$avatar_defaults[‘gravatar_default’] = ‘Cravatar 标志’;

return $avatar_defaults;
}

add_filter( ‘avatar_defaults’, ‘set_defaults_for_cravatar’, 1 );
}

当然,别忘了在Cravatar注册账号,并设置你的头像。

给TA打赏
共{{data.count}}人
人已打赏
WordPress开发实例

如何在WordPress中限制搜索结果- 排除或指定特定文章、页面和分类

2023-6-4 19:24:41

WordPress开发实例

WordPress 图片拖放 – 禁止选文 – 打击复制!

2023-6-16 20:08:15

声明 本站上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。无意侵害您的权益,请发送邮件至 [email protected] 或点击右侧 私信:林沐阳 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索