本文于 2021-09-01 21:10 更新,部分内容具有时效性,如有失效,请留言
由于国内一直无法正常加载Gravatar 全球通用头像,严重拖慢 WordPress 的加载速度,另外一些新手可能也不知道如何申请头像。
近日WP-China-Yes 插件的作者,再次推出并上线了国内Gravatar 头像的完美替代方案Cravatar。
Cravatar 完全兼容 Gravatar 的 API 规范,支持用户上传和分享头像。
进入 Cravatar 头像网站,用自己常用的邮箱注册,登录后点击“立即创建你的头像”。
上传一张头像图片,用注册的邮箱在支持头像的网站留言,就会看到自己专有的 Cravatar 头像。
那如何将 Cravatar 头像服务集成到自己的 WordPress 网站中呢?
很简单,将下面的代码添加到当前主题函数模板 functions.php 中即可:
if <span style="font-style: inherit;">(</span> <span style="font-style: inherit;">!</span><span style="font-style: inherit;"> function_exists</span><span style="font-style: inherit;">(</span> <span style="font-style: inherit;">'get_cravatar_url'</span> <span style="font-style: inherit;">)</span> <span style="font-style: inherit;">)</span> <span style="font-style: inherit;">{</span>
<span style="font-style: inherit;">/**</span>
<span style="font-style: inherit;">* </span>替换Gravatar头像为Cravatar头像
<span style="font-style: inherit;">*</span>
<span style="font-style: inherit;">* Cravatar</span>是Gravatar在中国的完美替代方案,你可以在https://cravatar.cn更新你的头像
<span style="font-style: inherit;">*/</span>
<span style="font-style: inherit;">function</span><span style="font-style: inherit;"> get_cravatar_url</span><span style="font-style: inherit;">(</span><span style="font-style: inherit;"> $url </span><span style="font-style: inherit;">)</span> <span style="font-style: inherit;">{</span>
<span style="font-style: inherit;">$sources </span><span style="font-style: inherit;">=</span><span style="font-style: inherit;"> array</span><span style="font-style: inherit;">(</span>
<span style="font-style: inherit;">'<a href="https://blog.zjzjcp.com/tag/www" class="st_tag internal_tag" rel="tag" title="标签 www 下的日志">www</a>.gravatar.com'</span><span style="font-style: inherit;">,</span>
<span style="font-style: inherit;">'0.gravatar.com'</span><span style="font-style: inherit;">,</span>
<span style="font-style: inherit;">'1.gravatar.com'</span><span style="font-style: inherit;">,</span>
<span style="font-style: inherit;">'2.gravatar.com'</span><span style="font-style: inherit;">,</span>
<span style="font-style: inherit;">'secure.gravatar.com'</span><span style="font-style: inherit;">,</span>
<span style="font-style: inherit;">'<a href="https://blog.zjzjcp.com/tag/cn" class="st_tag internal_tag" rel="tag" title="标签 cn 下的日志">cn</a>.gravatar.com'</span>
<span style="font-style: inherit;">);</span>
<span style="font-style: inherit;"> </span>
<span style="font-style: inherit;">return</span><span style="font-style: inherit;"> str_replace</span><span style="font-style: inherit;">(</span><span style="font-style: inherit;"> $sources</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">'cravatar.<a href="https://blog.zjzjcp.com/tag/cn" class="st_tag internal_tag" rel="tag" title="标签 cn 下的日志">cn</a>'</span><span style="font-style: inherit;">,</span><span style="font-style: inherit;"> $url </span><span style="font-style: inherit;">);</span>
<span style="font-style: inherit;">}</span>
<span style="font-style: inherit;"> </span>
<span style="font-style: inherit;">add_filter</span><span style="font-style: inherit;">(</span> <span style="font-style: inherit;">'um_user_avatar_url_filter'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">'get_cravatar_url'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">1</span> <span style="font-style: inherit;">);</span>
<span style="font-style: inherit;">add_filter</span><span style="font-style: inherit;">(</span> <span style="font-style: inherit;">'bp_gravatar_url'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">'get_cravatar_url'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">1</span> <span style="font-style: inherit;">);</span>
<span style="font-style: inherit;">add_filter</span><span style="font-style: inherit;">(</span> <span style="font-style: inherit;">'get_avatar_url'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">'get_cravatar_url'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">1</span> <span style="font-style: inherit;">);</span>
<span style="font-style: inherit;">}</span>
<span style="font-style: inherit;"> </span>
<span style="font-style: inherit;">if</span> <span style="font-style: inherit;">(</span> <span style="font-style: inherit;">!</span><span style="font-style: inherit;"> function_exists</span><span style="font-style: inherit;">(</span> <span style="font-style: inherit;">'set_defaults_for_cravatar'</span> <span style="font-style: inherit;">)</span> <span style="font-style: inherit;">)</span> <span style="font-style: inherit;">{</span>
<span style="font-style: inherit;">/**</span>
<span style="font-style: inherit;">* </span>替换WordPress讨论设置中的默认头像
<span style="font-style: inherit;">*/</span>
<span style="font-style: inherit;">function</span><span style="font-style: inherit;"> set_defaults_for_cravatar</span><span style="font-style: inherit;">(</span><span style="font-style: inherit;"> $avatar_defaults </span><span style="font-style: inherit;">)</span> <span style="font-style: inherit;">{</span>
<span style="font-style: inherit;">$avatar_defaults</span><span style="font-style: inherit;">[</span><span style="font-style: inherit;">'gravatar_default'</span><span style="font-style: inherit;">]</span> <span style="font-style: inherit;">=</span> <span style="font-style: inherit;">'Cravatar </span>标志'<span style="font-style: inherit;">;</span>
<span style="font-style: inherit;"> </span>
<span style="font-style: inherit;">return</span><span style="font-style: inherit;"> $avatar_defaults</span><span style="font-style: inherit;">;</span>
<span style="font-style: inherit;">}</span>
<span style="font-style: inherit;"> </span>
<span style="font-style: inherit;">add_filter</span><span style="font-style: inherit;">(</span> <span style="font-style: inherit;">'avatar_defaults'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">'set_defaults_for_cravatar'</span><span style="font-style: inherit;">,</span> <span style="font-style: inherit;">1</span> <span style="font-style: inherit;">);</span>
<span style="font-style: inherit;">}</span>
之后,Cravatar 头像会替代 Gravatar,头像加载速度显著提升,也不需要再将头像缓存到本地了。
当留言者使用的 QQ 邮箱没有申请头像,Cravatar 会自动调用 QQ 头像,非常人性化。
另外,还可以尝试安装:LitePress 中国本土的 WordPress 发行版
我目前用的 Begin 主题支持 Cravatar 头像,只需要在自定义获取头像地址中输入:cravatar.cn/avatar/,即可调用 Cravatar 头像。
参考自:
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。


