网上找到的
function fox_get_https_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com"), "gravatar.wp-china-yes.net", $avatar);
$avatar = str_replace("http://", "https://", $avatar);
return $avatar;
}
事实上将上述代码放到function.php根本没用
搞了好久,我应该找点发现这个问题的,是我傻了。
我点击查看无法显示的头像的url,发现它用的不再是gravatar的官网头像的域名,而是用了secure.gravatar.com这个域名,猜想WordPress5.7+版本,或者说最新版本又换了个头像源镜像地址。
而且该函数中实现的就是将一些不能用的gravatar地址通过str_replace替换为可用的镜像源,而"gravatar.wp-china-yes.net",就是可用的。
最终代码
function fox_get_https_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com", "0.gravatar.com", "1.gravatar.com", "2.gravatar.com","secure.gravatar.com"), "gravatar.wp-china-yes.net", $avatar);$avatar = str_replace("http://", "https://", $avatar);return $avatar;}
将secure.gravatar.com这个不可用的加入数组中,查看我的网站https://www.rfbynet.club
完成!!