21年的时候,在黑桃三的帮助下,将Gravatar头像切换到Cravatar,太太平平用了5年:喜大普奔,恢复博客访问者头像了 ,谁知近来又开始显示默认头像了,正好访问到 一叶竹 的博客,说遇到了同样问题,更改为Weavatar源就OK了,打开Weavatar官网,发现很贴心的给了加入functions.php的代码,对我们这种小白太友好了,于是变更了下,果然有效果,特此感谢!

先备份 functions.php,然后将以下代码加到主题的functions.php文件中即可,当然之前那个Cravatar的代码要删掉:

if ( ! function_exists( 'get_weavatar_url' ) ) {
/**
* 替换 Gravatar 头像为 WeAvatar 头像
*
* WeAvatar 是新一代头像服务解决方案,可在 https://weavatar.com 修改头像
*/
function get_weavatar_url( $url ) {
$sources = array(
'www.gravatar.com',
'0.gravatar.com',
'1.gravatar.com',
'2.gravatar.com',
'secure.gravatar.com',
'cn.gravatar.com',
'gravatar.com',
'sdn.geekzu.org',
'gravatar.duoshuo.com',
'gravatar.loli.net',
'cravatar.cn',
);
return str_replace( $sources, 'weavatar.com', $url );
}
add_filter( 'um_user_avatar_url_filter', 'get_weavatar_url', 1 );
add_filter( 'bp_gravatar_url', 'get_weavatar_url', 1 );
add_filter( 'get_avatar_url', 'get_weavatar_url', 1 );
add_filter( 'um_user_avatar_url_filter', 'get_weavatar_url', PHP_INT_MAX );
add_filter( 'bp_gravatar_url', 'get_weavatar_url', PHP_INT_MAX );
add_filter( 'get_avatar_url', 'get_weavatar_url', PHP_INT_MAX );
}
if ( ! function_exists( 'set_defaults_for_weavatar' ) ) {
/**
* 替换 WordPress 讨论设置中的默认头像
*/
function set_defaults_for_weavatar( $avatar_defaults ) {
$avatar_defaults['gravatar_default'] = 'WeAvatar 头像';
return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'set_defaults_for_weavatar', 1 );
}
if ( ! function_exists( 'set_user_profile_picture_for_weavatar' ) ) {
/**
* 替换个人资料卡中的头像上传地址
*/
function set_user_profile_picture_for_weavatar() {
return '<a href="https://weavatar.com" target="_blank">您可以在 WeAvatar 修改您的资料图片</a>';
}
add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_weavatar', 1 );
}