自建gravatar代理,解决WordPress头像加载问题

在 WordPress 中,Gravatar 是一种全球通用的头像服务,用户可以使用自己的 Gravatar 图像来显示在评论区域等位置。

但国内访问不了gravatar.com,所以默认的Wordpress评论区头像经常裂开、加载不出来。
(🎁 文末有福利)

3 个解决方案思路

1.方案 1(自己搭建):自建gravatar代理:使用国外服务器,对secure.gravatar.com进行反向代理,然后把gravatar的服务器改成反代的域名即可。

2.方案 2(用别人的):假如Gravatar将来提供了国内的镜像(或者有热心网友自行搭建),也可以将地址修改为国内服务器,以提高速度,搜索关键词:Gravatar镜像源

3.方案 3(免插件纯代码):编辑主题functions.php文件

在此我只展示方案 1 和方案 3

方案 1 具体操作

流程

新建域名——编辑反向代理——申请 SSL证书——安装插件——设置gravatar服务器

操作步骤:

1. 新建域名

2. 编辑反向代理

3. 编辑配置文件

把以下代码加到配置文件中,就可以对https的域名进行反代了

proxy_ssl_server_name on; 

4. 安装插件

插件名字:gravatar-fixed
插件大小:2KB
插件简介:该插件用于修正Gravatar服务器无法正常访问的情况,并且可以自定义Gravatar服务器地址


5. 设置gravatar服务器

*Gravatar SSL 服务器仅适用于 WordPress 开启SSL访问时才起作用。

🎁 福利

如果你不想自建,可以尝试Gravatar的公共镜像:

Gravatar头像公共镜像

Cravatar:https://cravatar.cn/avatar/

V2EX:https://cdn.v2ex.com/gravatar/

极客族:https://sdn.geekzu.org/avatar/

loli:https://gravatar.loli.net/avatar/

方案 3 具体操作

如果你不想安装插件/ 有洁癖,秉承着“”能用代码就不插件“的话

比较简单,只需要将以下代码插入Wordpres主题的 functions.php 中即可

💡温馨提示:建议只在子主题的functions.php文件中编辑,因为一旦主题升级,有可能会丢失functions.php的自定义代码。

function replace_gravatar($avatar) {
$avatar = str_replace(array("//gravatar.com/", "//secure.gravatar.com/", "//www.gravatar.com/", "//0.gravatar.com/", "//1.gravatar.com/", "//2.gravatar.com/", "//cn.gravatar.com/"), "//sdn.geekzu.org/", $avatar);
return $avatar;}
add_filter( 'get_avatar', 'replace_gravatar' );
纯代码解决wordpress gravatar加载问题

将上面的代码粘贴在这里就可以了

代码解释:这段代码中的功能是通过 replace_gravatar 函数将 Gravatar 的 URL 替换为指定的 URL。具体来说,它使用 str_replace 函数将 Gravatar 的各个域名(包括 “//gravatar.com/”、”//secure.gravatar.com/” 等)替换为 “//sdn.geekzu.org/”,然后将替换后的 URL 返回。

最后,通过 add_filter( ‘get_avatar’, ‘replace_gravatar’ ) 将 replace_gravatar 函数应用到 WordPress 的 get_avatar 过滤器上,以实现替换 Gravatar 头像 URL 的功能。

如果你要将 Gravatar 的 URL 替换为你自建的地址,只需要将原来的替换目标 “//sdn.geekzu.org/” 替换为您想要使用的地址 “//输入你自建的地址”,这样就可以将 Gravatar 的 URL 替换为您自建的地址了。然后将这段代码添加到您的 WordPress 主题的 functions.php 文件中即可生效。

完结!撒花🌸👋

评论 2
发表回复

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

这些同样精彩