wordpress中Gravatar头像不显示解决方案
wordpress用户头像用的是Gravatar的头像,这在大陆基本上打不开,所以会导致头像加载不出来,下面就来说说如何解决这个问题。
'Cravatar.cn' 简介
'Cravatar.cn' 是 'Gravatar.com' 的中国版,你可以在这里随便上传和分享你的头像。
当有人需要自己的头像时,我们会按照这个顺序来找:首选是 'Cravatar.cn',然后是 'Gravatar.com',最后是 QQ 头像。对于博客网站,这可以满足大约 70% 的用户需求。
'Cravatar.cn' 百分之百支持 'Gravatar.com' 的头像API,这意味着你只需简单地改个域名就能用 'Cravatar.cn' 替代 'Gravatar.com'。
另外,'Cravatar.cn' 还会人工审核所有上传的头像,以确保没有不合适的内容。
总之,'Cravatar.cn' 不仅和 'Gravatar.com' 完全兼容,还有一些特点:
更快的速度 - 服务器在中国运行,所以响应速度飞快,几乎是瞬间的。
更高的稳定性 - 所有头像都经过人工审核,确保没有违规内容,所以不会出现无法访问的问题。
更多的头像选择 - 除了我们自己的头像库,还包括 Gravatar 和 QQ 的头像库,可供你选择。
'Cravatar.cn' 目前由 LitePress.cn 提供支持和维护。LitePress.cn 的使命是为中国的 WordPress 提供必要的基础设施,并将其本地化。
解决办法
将以下代码粘贴至主题文件夹内的 functions.php 最下方.
/*修复Cravatar头像在wordpress上无法显示问题*/
//替换Gravatar头像
if ( ! function_exists( 'get_cravatar_url' ) ) {
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',
'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( 'set_user_profile_picture_for_cravatar' ) ) {
/**
* 替换个人资料卡中的头像上传地址
*/
function set_user_profile_picture_for_cravatar() {
return '<a href="https://cravatar.cn" target="_blank">您可以在 Cravatar 修改您的资料图片</a>';
}
add_filter( 'user_profile_picture_description', 'set_user_profile_picture_for_cravatar', 1 );
}
functions.php在哪
/wp-content/themes/主题文件夹/functions.php