所有文章

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

calendar-logo
calendar-logo

4 min read

calendar-logo 访问量

文章介绍了在 WordPress 中因国内无法访问gravatar.com导致评论区头像加载异常的问题,给出了包括自建 gravatar 代理、利用他人搭建的镜像、免插件纯代码编辑等 3 种解决方案思路,并详细展示了方案 1 和方案 3 的具体操作步骤。

1730439841686.webp 在 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服务器

操作步骤:

新建域名

1730439452343.webp

编辑反向代理

1730439463912.webp

编辑配置文件

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

proxy_ssl_server_name on; 

1730439477463.webp

安装插件

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

1730439489313.webp

设置gravatar服务器

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

🎁 福利

如果你不想自建,可以直接把我的Gravatar镜像,填上去即可,镜像地址:

https://gravatar.pipuwong.com

方案 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' );

1730439509057.webp

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


代码解释:这段代码中的功能是通过 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 文件中即可生效。

完结!撒花🌸👋

大功告成!完结撒花🎉