更换多说评论插件的头像地址

2014年8月27日 分类: Wordpress (1,020 个脚步)

在 为 WordPress 开启 HTTP 和 HTTPS 同时访问 这篇文章中提到,我的这个博客已经将全站的 HTTPS 显示。

评论插件用的是多说社会化评论,以前他是不支持 HTTPS 的,不过意想不到前段时间居然支持 HTTPS。

在 HTTPS 环境下,多说的评论头像居然是 HTTP 的,没有将头像变换为 HTTPS,导致了绿锁头就消失了

对比了一下 URL,头像是能使用 HTTPS 链接的,只是不给你用而已。这个简单,替换掉就好。

修改

将多说上的 embed.js 下载到本地,然后用 JS 美化工具将内容整理出来。查找以下内容

avatarUrl: function(e, t) {
        return e.avatar_url || nt.data.default_avatar_url
}

因为多说有可能会用到新浪、腾讯等头像地址,而新浪的图床 sinaimg 是不支持 HTTPS 的。
所以呢,你就得忍受一下变叹号的痛苦把,或者将他们用 Nginx 反代一下就好了。 

还有就是 https://gravatar.duoshuo.com 这个地址你改成 https://gravatar.duoshuo.com 会显示 404 的,替换这个方法不可用。
所以就要用反向代理的方式改成自己的地址了。
反正我是将 https://gravatar.com 反代到自己的域名上了。

接下来就是改代码时间。将代码替换上去就行了

avatarUrl: function(e, t) {
    if(e.avatar_url) {
        if (!e.avatar_url.match(/sinaimg/)) {
            e.avatar_url = (document.location.protocol == "https:") ? e.avatar_url.replace(/http:/, "https:") : e.avatar_url
            e.avatar_url = e.avatar_url.replace(/duoshuo/, "shiniv")
        }
    } else {
        nt.data.default_avatar_url = (document.location.protocol == "https:") ? nt.data.default_avatar_url.replace(/http:/, "https:") : nt.data.default_avatar_url
    }
    return e.avatar_url || nt.data.default_avatar_url
},

最后一步,修改多说插件目录下的 WordPress.php 文件,大概在 593 行和 612 行,替换成你自己的网址就好了

然后基本上显示都会是绿锁头了,但愿不要碰到用新浪头像的人把

更换多说评论插件的头像地址 【声明】本文 更换多说评论插件的头像地址 为柠之漠然原创文章,转载请注明出自 枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2014/08/change-duoshuo-gravatar-with-https-in-wordpress/ , 转载请保留本声明!

标签: , , , ,
35 条评论
  • 来看看

  • 我的多说头像似乎是渣浪的 2333 另外支持https了为何不做个301跳转,把http全部跳到https

    • 之前新浪好像加上https了 不过我懒得改了  

      http跳转以前是一直开着的 不过最近迁移服务器懒得折腾了 暂时这样用着先

  • 这个也能换,厉害

  • …好吧,原来是这样

  • 博主好!多说评论在后台修改了默认的头像之后,就显示错误,不知什么原因?这是地址:http://www.anyuliang.com/askme

    • 在后台上传默认头像应该不会出错才对啊

评论分页
你必须要启用 Javascript