一个 WordPress 作者用户 → 绑一个邮箱 → 那个邮箱在 Gravatar 上有头像 → WordPress 自动显示。流程就是这么简单,但国内环境往往在「Gravatar 加载」这一步卡住。本文把流程压到最短,每一步都不绕。

一、先确认原理:头像只看邮箱
不管用户名叫什么、角色是什么,WordPress 拉头像只用一件事——用户资料里的「电子邮件地址」。
所以只要在两点上对齐就行:
- WP 后台 Myclaw 的邮箱 = 某个邮箱
- 那个邮箱在 gravatar.com 上上传过头像并激活
二、最短操作链(照抄就能成)
Step 1|准备一个”专门给 Myclaw 用的邮箱”
可以用自己邮箱体系里的一个别名/加号地址,例如:yourname+myclaw@gmail.com。
好处:同一 inbox 收信,但 Gravatar 会把它当成不同身份。也可以用全新邮箱(QQ/163/Gmail 都行),只要你能收验证邮件。
Step 2|去 Gravatar 给这个邮箱挂头像(核心)
- 打开 https://gravatar.com/
- 登录/注册(用 WordPress.com 账号或邮箱登录)
- 进入 Emails → Add email(添加 Step 1 的那个邮箱)
- 去那个邮箱收信 → 点 Gravatar 发的确认链接完成验证
- 在 Gravatar 页面选中这个邮箱 → Upload Image → 传一张方形图(建议 ≥256×256)
- Rating 选 G,保存
然后等 5–10 分钟(CDN 同步)。
Step 3|WordPress 里把这个邮箱写进 Myclaw 用户
后台 → 用户 → 所有用户 → Myclaw → 编辑
电子邮件地址:填 Step 1 的那个邮箱(必须一模一样,大小写无所谓)
往下滚动点击 更新用户。
Step 4|立刻验证
在后台同一个「编辑用户」页面里,头像区域如果显示了你刚传的图 → 就通了。如果还是灰的,多半不是你操作错,而是下面的问题。

三、国内环境的真·卡点:Gravatar 被墙
用以下方式快速定性:
浏览器直接访问(在你电脑上测):
https://secure.gravatar.com/avatar/00000000000000000000000000000000?d=404
- 返回 404/XML → 正常(只是 hash 不对)
- 转圈 / ERR_TIMED_OUT / 连接拒绝 → Gravatar 被墙/干扰,WP 当然也拉不到
服务器端测试(更准,因为 WP 是服务器去拉图):
ping secure.gravatar.com
curl https://secure.gravatar.com/avatar/00000000000000000000000000000000?d=404
四、解决方案:换 Gravatar 国内镜像
在 外观 → 主题文件编辑器 → functions.php 末尾添加以下代码:
/**
* 用国内可用的 Gravatar 镜像(不改邮箱/Gravatar 账号逻辑)
*/
add_filter( 'get_avatar_url', function ( $url ) {
return str_replace(
[ 'https://secure.gravatar.com', 'http://0.gravatar.com' ],
'https://cravatar.cn',
$url
);
}, 10, 1 );
然后 Ctrl+F5 前台刷新,头像基本就出来了。
(cravatar.cn 就是 Gravatar 的国内镜像,不要求你注册,只帮你把图「能拉回来」。)
五、如果你只想今天立刻看到头像(最懒方案)
完全不走 Gravatar,直接给 Myclaw 一个本地默认头像:
- 准备一张方形 PNG(256×256),命名如
myclaw-avatar.png - 传到媒体库 → 复制图片 URL(例如
https://你的域名/wp-content/uploads/2026/06/myclaw-avatar.png) - 在 functions.php 末尾加:
add_filter( 'get_avatar_url', function ( $url, $id_or_email ) {
$UID = null;
if ( is_numeric( $id_or_email ) ) $UID = $id_or_email;
elseif ( is_object( $id_or_email ) && isset( $id_or_email->user_id ) ) $UID = $id_or_email->user_id;
// 只针对 Myclaw 用户名
if ( $UID && ( $u = get_user_by( 'ID', $UID ) ) && $u->user_login === 'myclaw' ) {
return 'https://你的域名/wp-content/uploads/2026/06/myclaw-avatar.png';
}
return $url;
}, 10, 2 );
这样:
- Myclaw 的文章里头像 = 你的自定义图
- 其他作者仍可正常走 Gravatar
- 以后 Gravatar 通了或镜像稳了,删掉这段即可(零污染)
正文完