Gravatar头像显示修复

更换了wordpress博客系统后,由于Gravatar头像源国内无法显示,导致评论区看起来特别扭。本着求知学习的精神开始解决此问题。

一番浏览后发现解决办法有三种:插件、修改代码、本地缓存。

出于对服务器性能影响考虑,插件和本地缓存就被pass,毕竟1核1G的小服务器已经搭建了6个网站了。

修改代码其实有两种,第一种是修改functions.php文件
譬如加入以下代码:

/*修复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 );

第二种修改link-template.php文件。

所在位置:wp-includes/link-template.php第4412行。

$url = 'https://secure.gravatar.com/avatar/' . $email_hash;

替换为

$url = 'https://sdn.geekzu.org/avatar/' . $email_hash;

或者可以找第三方Gravatar国内镜像地址替换就行。

本人使用的是修改源码第二种,方便快捷,推荐大家使用第二种。

Gravatar头像显示修复》有5个想法

发表回复

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