banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[WP]WP-ReplaceGravatarMirror插件1.1版本发布

博客全面支持 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;

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.