Gravatar 头像总是无法显示?你可改用完美替代的 Cravatar

Gravatar 作为互联网公共头像服务,已经成为很多网站程序的默认头像服务,特别是和 WordPress 集成的非常好,多数博主都注册了 Gravatar ,以方便博客互访的评论留言。但 Gravatar 在国内时不时就会被墙一下,最近已经几个月不能正常显示了,虽然许多博主使用反代的方式来确保 Gravatar 能正常访问,但很容易失效,将人折腾得心烦意乱。

近日一直致力于解决 WordPress 在中国高墙环境下水土不服问题的,WP-China-Yes 插件的作者,再次出手,推出了 Gravatar 在中国的完美替代方案 Cravatar

Cravatar 完全兼容 Gravatar 的 API 规范,支持用户自由的上传和分享头像。同时如果你未在Cravatar设置头像,则会先尝试调用 Gravatar 上的头像数据,其后是 QQ 头像,最后会返回 Cravatar 的默认头像。

使用 Cravatar 头像,最大的的优势就是头像加载速度显著提升。服务完全架设并运行在中国大陆境内,提供毫秒级的响应速度,也不需要再将头像缓存到本地了。

如何注册 Cravatar 头像服务

进入 Cravatar 头像网站(Cravatar头像申请地址),用自己常用的邮箱进行注册,登录后点击“立即创建你的头像”,上传一张头像图片,完成创建。如果你的邮箱已经创建过 Gravatar ,则会自动显示创建的头像,如果你的邮箱是QQ数字邮箱,则会显示你的QQ头像,即按 Cravatar -> Gravatar -> QQ 头像的顺序调用头像图片。

当你用注册的邮箱在支持公共头像服务的网站留言时,就会看到自己特有的 Cravatar 头像了。

如何将 Cravatar头像服务集成到 WordPress 网站中

你可以很方便的为 WordPress 集成 Cravatar 头像服务,只需要将以下代码加入主题的 functions.php 里即可:

if ( ! function_exists( 'get_cravatar_url' ) ) {
    /**
     * 替换Gravatar头像为Cravatar头像
     *
     * Cravatar是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
     */
    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 );
}

如果你已经安装了 WP-China-Yes 插件(立即下载),可以更新到最新版后在插件设置中"使用 Cravatar 头像"为“全局启用”。

替换默认头像设置的Gravatar名称

添加上面的代码以后,我们在 设置 - 讨论 界面的头像选择这里,仍然显示 Gravatar名称,使用下面的代码即可替换:

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

如果你使用其他系统,如 Typecho,想集成 Cravatar头像,则可以参考开发文档:https://cravatar.cn/developers


历史上的今天:

相关推荐

如何实现 WordPress 网站页面内容的分页显示?

我的 WordPress 网站中有个“阅读记录”页面,按年份记录了自己一年中阅读过的图书目录。五年下来,文章的内容比较多,页面拉得很长,浏览起来不太方便。所以我想让页面内容按年份分页显示,一年一个分页,通过导航条切换,方便地浏览。 WordPress 编辑器中有“分页符”按钮,在需要分页的地方点击此按钮,就会加入 <!--n ...

WordPress 网站如何开启维护模式?

网站因更新或维护等原因,会导致访问出错的情况,这时我们可能需要临时关闭网站。如果你的网站是用 WordPress 程序搭建的,则你可通过以下方法开启网站维护模式,给出一个维护提示的页面,以确保用户体验不受影响,同时也能够保护你的数据安全。 一、使用主题功能 许多 WordPress 主题都内置了“维护模式”的选项,我们只 ...

WordPress 上传附件提示“父目录是否可以被服务器写入?”解决办法

昨天有空闲,对一个许久没有打理过的网站更新了一篇文章,但在上传附件时,提示错误:无法创建目录 uploads/2024/11。它的父目录是否可以被服务器写入? 尝试了几次都不行,就登录服务器查看目录写入权限。发现 /wp-content/ uploads/ 的权限是755,和其他网站的文件夹权限是一致的。 我又手动创建了 2024/11/ 文件夹, ...

如何解决更新 WordPress 需要访问您网页服务器的权限问题?

网站提示有 WordPress 更新可用,但在线更新时却提示:要执行请求的操作,WordPress需要访问您网页服务器的权限。请输入您的 FTP 登录凭据以继续。 我输入 FTP 登录用户名和密码,网页无响应。我猜测会否主机名错误了,就填写了 FTP 地址,仍然是错误的。 网络搜索了一下,有网友遇到相同问题,给出的解决办法是,在 Wor ...

9 条评论

  1. 关闭头像更彻底。

    • @林林 Gravatar被墙了,WordPress下面最好用WP China Yes插件。

  2. 这真是一个好主意,我怎么没想到搞一个这种服务呢。我在仔细研究一下这个Cravatar

  3. 这个Cravatar头像确实很不错,不过查询改头像官网是个人备案,个人的话不知道是否有财力支持这个项目一直走下去,比较担心“虎头蛇尾”。如果换成企业备案的话,估计会有更多站长信服,然后大家都使用这个Cravatar头像,而不是Gravatar头像。

  4. 对这个一直都无感!

  5. 嘿嘿,我的新主题最新版也支持了!

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。