博客全面支持 HTTPS 协议访问后,之前做的 WP-ReplaceGravatarMirror 插件对 HTTPS 的访问效果不是太好,因此对 WP-ReplaceGravatarMirror 插件进行了简单的一次小升级,让 WP-ReplaceGravatarMirror 同时支持 HTTP 和 HTTPS 网站, 本次改进只针对 https 网站进行优化,如果启用了 HTTP 访问的话欢迎下载和升级,没有启用 HTTP 访问且已经安装 WP-ReplaceGravatarMirror1.0 版本的可以不需要升级。
插件名称:WP-ReplaceGravatarMirror 插件说明:插件说明页面 当前版本:1.1 使用方法: 1. 下载最新版本的 WP-ReplaceGravatarMirror,解压已下载完成的文件。下载地址:https://github.com/limccn/WP-ReplaceGravatarMirror/tree/master/release/1.1 2. 将解压后的 wp-replace-gravatar-mirror 文件夹上传到服务器的 plugins 目录下,或者使用 Wordpress 自带的上传安装插件功能 3. 进入 Wordpress 后台,在插件选项卡中激活 WP-ReplaceGravatarMirror
附上完整的 WP-ReplaceGravatarMirror1.1 源代码
/**
* Silence is golden
*/
if (!defined('ABSPATH')) exit;
class WP_Replace_Gravatar_Mirror
{
/\*\*
\* init Hook
\*
\*/
public function \_\_construct()
{
if(isset($\_SERVER\['HTTPS'\]) && $\_SERVER\['HTTPS'\] == 'on')
{
add\_filter('get\_avatar', array($this,'replace\_gravatar\_to\_ssl'), 10, 3);
}else
{
add\_filter('get\_avatar', array($this,'replace\_gravatar\_to\_duoshuo'), 10, 3);
}
}
/\*\*
\* Use DuoShuo's gravatar mirror to replace Gravatar's.
\* Simplely replace from "\*.gravatar.com" to "gravatar.duoshuo.com".
\*
\* @param $avatar
\* @return mixed
\*/
public function replace\_gravatar\_to\_duoshuo($avatar)
{
$avatar = str\_replace(array('www.gravatar.com','0.gravatar.com','1.gravatar.com','2.gravatar.com','s.gravatar.com'),'gravatar.duoshuo.com',$avatar);
return $avatar;
}
/\*\*
\* Use https gravatar server to replace none-https.
\* Simplely replace from "http://\*.gravatar.com" to "https://secure.gravatar.com".
\*
\* @param $avatar
\* @return mixed
\*/
public function replace\_gravatar\_to\_ssl($avatar)
{
$avatar = preg\_replace('/.\*\\/avatar\\/(.\*)\\?s=(\[\\d\]+)&.\*/','![](https://secure.gravatar.com/avatar/$1?s=$2)',$avatar);
return $avatar;
}
}
/**
* bootstrap
*/
new WP_Replace_Gravatar_Mirror;