解决Wordpress中Cravatar头像无法访问问题

一、什么是Cravatar

Gravatar是WordPress母公司Automattic推出的一个公共头像服务,也是WordPress默认的头像服务。但因为长城防火墙的存在,Gravatar在中国时不时就会被墙一下,比如本次从2021年2月一直到8月都是不可访问状态。 在以往的时候,国内的CDN厂商和博客主会使用反代的方式确保Gravatar在国内能正常访问,但老实说,这种方式很容易就会吃牢饭。不妨想一下,Gravatar为什么会墙?一定是出现了某些涉政、涉黄之类的违法内容。这些国家禁止的东西,我们将其反代入国内,可谓是细思极恐。同时反代也只能解决头像访问的问题,而解决不了头像上传的问题。

二、介绍Cravatar

好在,现在我们有了Cravatar。

Cravatar是WordPress本土化计划中生态基础设施的一部分,就和LitePress.cn构建的翻译平台及应用市场一样。

Cravatar 100%兼容Gravatar的头像API,这意味着你可以简单的通过替换域名的方式来使用Cravatar接替Gravatar。同时,作为对中国互联网环境的特别适配,Cravatar支持在用户未设置Cravatar头像及Gravatar头像时匹配QQ头像(仅限于使用QQ数字邮箱的用户),这一切是自动进行的,用户对此无感知。其带来的效果是:经过三级匹配(Cravatar头像->Gravatar头像->QQ头像)后,大约70%的访客都会得到准确的头像。

此外,Cravatar平台还会对所有头像进行人工审核,确保不会出现害群之马。

总的来说,Cravatar在100%兼容Gravatar的同时还有以下优势:

  • 更快的速度 – 服务完全架设并运行在中国大陆境内,提供毫秒级的响应速度
  • 更高的稳定性 – 所有头像经人工审核确保不会出现违规内容,也就不会出现时不时访问不了的情况
  • 更高的头像展现率 – 在自有头像库的基础上囊括了Gravatar和QQ的头像库,可谓集天下之大成

三、如何使用

只需要将以下代码加入您的插件或主题的 functions.php 里即可

if ( ! function_exists( 'get_cravatar_url' ) ) {/*** 替换 Gravatar 头像为 Cravatar 头像** Cravatar 是 Gravatar 在中国的完美替代方案,您可以在 https://cravatar.com 更新您的头像*/function get_cravatar_url( $url ) {$sources = array('www.gravatar.com','0.gravatar.com','1.gravatar.com','2.gravatar.com','secure.gravatar.com','cn.gravatar.com','gravatar.com',);return str_replace( $sources, 'cravatar.cn', $url );}add_filter( 'um_user_avatar_url_filter', 'get_cravatar_url', 1 );add_filter( 'bp_gravatar_url', 'get_cravatar_url', 1 );add_filter( 'get_avatar_url', 'get_cravatar_url', 1 );
}

四、替换默认头像

添加上面的代码以后,我们在 设置 – 讨论 界面的头像选择这里,仍然显示 Gravatar名称,使用下面的代码即可替换

if ( ! function_exists( 'set_defaults_for_cravatar' ) ) {/*** 替换 WordPress 讨论设置中的默认头像*/function set_defaults_for_cravatar( $avatar_defaults ) {$avatar_defaults['gravatar_default'] = 'Cravatar 标志';return $avatar_defaults;}add_filter( 'avatar_defaults', 'set_defaults_for_cravatar', 1 );
}

如果你使用其他系统,想集成Cravatar头像,则可以参考开发文档:https://cravatar.cn/developers

五、上传自己的头像

在Cravatar官网:https://cravatar.cn 注册账号(与litepress.cn账号互通)即可添加和更换头像,头像修改后会在5分钟内刷新缓存并生效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/13856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

R语言:单细胞pcoa降维和去批次

#生成随机颜色 > randomColor <- function() { paste0("#",paste0(sample(c(0:9, letters[1:6]), 6, replace TRUE),collapse "")) } # 生成100个随机颜色 > randomColors <- replicate(100,randomColor()) > seuratreadRDS("seu…

前端javascript包管理,npm升级用pnpm

一 pnpm 介绍 pnpm&#xff08;Package Manager&#xff09;是一个快速、节省磁盘空间的 JavaScript 包管理器&#xff0c;它是 Node.js 生态系统中 npm 的一个替代品。pnpm 解决了传统包管理工具在处理依赖时的一些痛点&#xff0c;特别是关于存储空间使用和依赖地狱的问题。…

如何将Google Search Console添加到WordPress和GA4

您想知道如何将 Google Search Console 添加到您的 Google Analytics 帐户和 WordPress 网站吗&#xff1f; 作为网站主&#xff0c;Google Search Console 是一款不能不使用的工具。对于任何想要确保其网站在 Google 搜索结果中表现良好的人来说&#xff0c;这绝对是一个必不…

leetCode-hot100-数组专题之区间问题

数组专题之区间问题 知识点&#xff1a;解决思路&#xff1a;例题56.合并区间57.插入区间253.会议室 Ⅱ485.无重叠区间 数组区间问题是算法中常见的一类问题&#xff0c;它们通常涉及对数组中的区间进行排序、合并、插入或删除操作。无论是合并区间、插入区间还是删除重复空间&…

【HarmonyOS尝鲜课】- 下载、安装DevEco Studio以及配置环境、创建运行HarmonyOS项目

下载、安装开发工具 进入DevEco Studio下载官网&#xff0c;单击“立即下载”进入下载页面。 这里以Windows为例进行安装&#xff0c;可以根据操作系统选择对应的版本进行下载。 下载完成后解压一下&#xff0c;进入文件里&#xff0c;双击应用程序&#xff0c;打开安装向导&a…

Redis主从、哨兵、集群讲解

一、Redis主从 大家在面试中可能经常会被问到Redis的高可用问题。Redis高可用回答包括两个层面&#xff0c;一个就是数据不能丢失&#xff0c;或者说尽量减少丢失 ;另外一个就是保证Redis服务不中断 。 对于尽量减少数据丢失&#xff0c;可以通过AOF和RDB保证。 对于保证服务…

linux---线程控制

线程和进程 以前我们要同时跑多个程序&#xff0c;可以通过fork()多个子进程&#xff0c;然后通过系统函数进行程序的替换&#xff0c;但是创建进程代价大&#xff0c;不仅要拷贝一份父进程的地址空间&#xff0c;页表&#xff0c;文件表述符表等。但是线程不需要因为是进程的…

windows docker desktop 更换镜像存储目录

windows docker desktop 更换镜像存储目录 方法&#xff1a;如图&#xff0c;Browse浏览一个新的目录并选中&#xff0c;确定后&#xff0c;程序会开始stop&#xff0c;在stop完成前&#xff0c;会持续迁移原有镜像到新的位置&#xff0c;你会发现目标位置的磁盘占用空间越来越…

Mac网线连接windows本【局域网互传文件】

Mac网线连接windows本【局域网互传文件】 两台电脑网线互联 Mac->网络->USP TCP/IP 手动配置IP&#xff0c;子网掩码&#xff0c;路由器 windows 网络和Internet配置->更改适配器选项->以太网->Internet协议版本4&#xff08;TCP/IPv4&#xff09;->属性 …

K8S/ hpa分享

在 Kubernetes 中&#xff0c;HorizontalPodAutoscaler 自动更新工作负载资源 &#xff08;例如 Deployment 或者 StatefulSet&#xff09;&#xff0c; 目的是自动扩缩工作负载以满足需求。 hpa的使用本身还是很简单的 示例如下&#xff1a; 官网示例 apiVersion: apps/v1 k…

NetCore发布的时候怎么去除生成的多余的语言文件夹cs,de...,Microsoft.CodeAnalysis语言资源文件

1、问题&#xff1a; .NetCore 3.1 发布出来的publish目录一大堆杂七杂八的文件夹如下图&#xff1a; 2、产生原因 由Microsoft.VisualStudio.Web.CodeGeneration.Design包导致 3、解决方法&#xff1a; 如果确实需要某种语言资源文件&#xff0c;可以这样&#xff0c;右键编…

压摆率SR、增益带宽积GBP、开环增益Aol

运放的选型对运放电路的实际效果非常关键&#xff0c;一定要理解运放重要参数的概念。下面几天将对运放的选型进行系统学习并做实验 运放的压摆率&#xff08;Slew Rate&#xff0c;简称SR&#xff09;是指闭环放大器在输入为阶跃信号时&#xff0c;输出电压时间变化率的平均值…

vue打包部署到springboot,通过tomcat运行

tomcat默认端口 8080springboot端口 9132vue 端口 9131 框架 项目是基于SpringBootVue前后端分离的仓库管理系统 后端&#xff1a;SpringBoot MybatisPlus前端&#xff1a;Node.js Vue element-ui数据库&#xff1a;mysql 一. 打包Vue项目 cmd中输入命令 npm run build 后…

深度学习之基于YoloV5-Deepsort人物识别与追踪项目

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与目标 本项目旨在利用深度学习技术&#xff0c;结合YoloV5和Deepsort算法&#xff0c;开发一个高效、…

前端:音频可视化(H5+js版本)

一、效果展示 HTML5JS实现一个简单的音频可视化 二、代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>音频可视化</title><style></style></head><body><divs…

非平稳信号的傅里叶变换与短时傅里叶变换

一、仿真一个非平稳的时间序列。 N 10000; t 0:N-1; z1 4.2*sin(2*pi/20.*t5); z2 2.2*sin(2*pi/100.*(10.001*t).*t8); w1 randn(length(t),1); yz1z2w1; figure;plot(y,LineWidth,1.5);grid on; ylabel(Signal); xlabel(Time); 二、傅里叶变换&#xff08;FFT&#xff…

Llama 3超级课堂作业笔记

文章目录 基础作业完成 Llama 3 Web Demo 部署环境配置下载模型Web Demo 部署对话截图 使用 XTuner 完成小助手认知微调Web Demo 部署自我认知训练数据集准备训练模型推理验证 使用 LMDeploy 成功部署 Llama 3 模型环境&#xff0c;模型准备LMDeploy CLI chatLMDeploy模型量化(…

SQL Server 2022安装+SQL Server最新补丁+smss工具连接超详细教程

文章目录 一、SQL Server 2022安装二、SSMS的安装与连接三、最新补丁下载总结 一、SQL Server 2022安装 官网下载安装包&#xff1a;https://www.microsoft.com/en-us/sql-server/sql-server-downloads 打开 选择自定义 更改你要安装到的位置后进行安装 安装程序包下载完后会自…

将本地项目代码上传到别人GitHub的远程分支上流程记录

首先将别人的项目克隆到本地&#xff1a; git clone 项目地址 然后cd进项目中&#xff0c;查看分支名称&#xff1a; git branch git branch -a 切换分支&#xff1a; git checkout 远程分支名 &#xff08;必须与所要提交代码的远程分支同名&#xff09; 截图案例&#xff1…

简单的TCP网络程序:英译汉服务器

一、服务器的初始化 下面介绍程序中用到的socket API,这些函数都在sys/socket.h中。 1.创建套接字 socket()&#xff1a; ⭐参数介绍&#xff1a; socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描述符;应用程序可以像读写文件一样用read/write在网…