修复WordPress上Gravatar头像无法显示问题

2022-06-19 20:04:20 浏览数 (1)

很多使用WordPress建站的朋友都有遇到Gravatar头像无法显示的问题,今天这篇文章记录一下如何解决这个问题。

Cravatar简介

Cravatar 是 Gravatar 在中国的完美替代方案,在此你可以自由的上传和分享头像。

当访客请求自己的头像时,会按此顺序分三级匹配头像:Cravatar->Gravatar->QQ 头像,对于博客站,这平均可以为 70% 的访客提供准确的头像。

Cravatar 100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。

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

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

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

Cravatar 当前由 LitePress.cn 提供维护支持,LitePress.cn 诞生的目的是为WordPress 在中国搭建起稳定运行所需的所有基础设施,并使其完全本土化。

解决办法

将以下代码粘贴至主题文件夹内的 functions.php 最下方

代码语言:javascript复制
/*修复wordpress上Cravatar头像无法显示问题*/
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 );
}

0 人点赞