苹果彩票网秒速赛车:威言威语

我愿像茶一样,把苦涩留在心里,敬发出来的都是清香!
威言威语
当前位置: 首页 > 设计 > 正文

解决WordPress的Gravatar头像被墙显示不出来的问题

秒速赛车时间 www.2s1a.cn Gravatar头像被墙或者打开缓慢已经是一个老问题了,网上也有各式各样的方法去解决这个问题。通过之前替换secure.gravatar.com的方式使得头像扩大了一倍。从WordPress4.2版开始,引入了scrset,但是原来代码没有考虑这个问题,导致的。srcset属性允许作者根据不同分辨率或不同的视窗尺寸提多个不同分辨图像。用户代理会根据之前获取的任何资源做选择,从而避免多个资源加载浪费带宽和相关性能问题。

Gravatar头像被墙或者打开缓慢已经是一个老问题了,网上也有各式各样的方法去解决这个问题。

目前流行的:1、使用官方https的头像链接,目前这个https方式没被墙,速度也还不错。2、使用多说的头像缓存服务,但是目前发现这个不是很稳定,要么加载慢,要么直接加载不出来。3、使用七?;捍娣桨?,这个好像使用要注册账号,安装插件什么的,不是那么方面,主要也没有试用过,稳定性未知。

我一直使用的是第一种方式,应该说使用了很久了,一直都算比较正常的。网上的代码是这样的:

function get_ssl_avatar($avatar) {
   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1?s=$2&d=mm" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
   return $avatar;
}
add_filter('get_avatar', 'get_ssl_avatar');

但是从WordPress 4.2版开始,这种方式就会出现一个问题,就头像好像比以前大了一倍。当然我也没有细看,只是通过CSS对头像大小做了限制,但是后台的头像不可能每次升级都改下后台的css代码,那样也太麻烦了,于是研究下,发现从WordPress4.2版开始,引入了scrset,srcset属性允许作者根据不同分辨率或不同的视窗尺寸提多个不同分辨图像。用户代理会根据之前获取的任何资源做选择,从而避免多个资源加载浪费带宽和相关性能问题。也就是可以根据屏幕密度显示对应尺寸的图片,比如正常的PC显示器默认设备像素比都是1,iphone6是2,iphone6 plus就是3。

WordPress4.2+的scrset定义的2x的,之前的代码获取出来的图片大小是50,但是之后就获取到scrset里面的图片大小100上了,这就导致了为什么后来图片扩大一倍的缘故。

于是我就重写了下代码,解决了这个问题。

//替换Gavatar头像地址
function get_ssl_avatar($avatar) {
    if (preg_match_all(
        '/(src|srcset)=["\']https?.*?\/avatar\/([^?]*)\?s=([\d]+)&([^"\']*)?["\']/i',
        $avatar,
        $matches
    ) > 0) {
        $url = 'https://secure.gravatar.com';
        $size = $matches[3][0];
        $vargs = array_pad(array(), count($matches[0]), array());
        for ($i = 1; $i < count($matches); $i++) {
            for ($j = 0; $j < count($matches[$i]); $j++) {
                $tmp = strtolower($matches[$i][$j]);
                $vargs[$j][] = $tmp;
                if ($tmp == 'src') {
                    $size = $matches[3][$j];
                }
            }
        }
        $buffers = array();
        foreach ($vargs as $varg) {
            $buffers[] = vsprintf(
            '%s="%s/avatar/%s?s=%s&%s"',
            array($varg[0], $url, $varg[1], $varg[2], $varg[3])
           );
        }
        return sprintf(
                '<img alt="avatar" %s class="avatar avatar-%s" height="%s" width="%s" />',
                implode(' ', $buffers), $size, $size, $size
            );
    } else {
        return false;
    }
}
add_filter('get_avatar', 'get_ssl_avatar');
本文固定链接: //www.2s1a.cn/blog/wordpress-gravatar-update.html | 威言威语

您可能还会对这些文章感兴趣!

解决WordPress的Gravatar头像被墙显示不出来的问题:目前有36 条评论

  1. avatar
    26楼
    筱雨悠然 Mozilla Firefox Windows

    好多人都不玩博客了

    2018-04-21 09:16 回复
  2. avatar
    25楼

    好像被墙了 不能用了

    2018-01-15 14:00 回复
  3. avatar
    24楼

    一直没弄图像

    2017-12-16 17:08 回复
  4. avatar
    23楼

    可以考虑用本地上传头像

    2017-12-04 01:38 回复
  5. avatar
    22楼
    踏雪 Google Chrome Windows

    沙发板凳地板是不是反了

    2017-05-07 23:22 回复
  6. avatar
    21楼

    极验验证的滑动框没法显示请问怎么解决

    2017-05-07 21:51 回复
  7. avatar
    20楼

    博主,你的博客已经有一段时间没有更新了,希望你能坚持,另外,你这个方法我看行,借用一下

    2017-03-04 23:36 回复
  8. avatar
    19楼

    已经去掉g头像的显示了。

    2017-02-20 17:43 回复
  9. avatar
    18楼

    请问需要修改哪一份文件?谢谢

    2017-02-08 11:33 回复
  10. avatar
    17楼
    春暖花开 Internet Explorer Windows

    博主现在使用的模板是什么,可以分享么。

    2016-12-30 09:46 回复
  11. avatar
    16楼

    不明白为什么WP调用那么多谷歌的东西,自己开发偷懒? 被强了,打开速度影响很大

    2016-12-17 14:27 回复
  12. avatar
    15楼

    :smile: 最近没啥更新啊

    2016-12-02 13:50 回复
  13. avatar
    14楼
    pongba Google Chrome Windows

    「我爱水煮鱼」有一个更简单的办法,只需替换http->https以及0.gravatar.com 1.gravatar.com -> secure.gravatar.com,代码简单很多,具体如下:

    //blog.wpjam.com/m/wordpress-gravatar-server/

    2016-12-01 07:00 回复
  14. avatar
    13楼

    感觉还是不行,还是使用本地缓存的方法。隔一段时间,翻墙,登陆博客后台,刷一下评论列表,让头像缓存下来

    2016-10-29 19:47 回复
  15. avatar
    12楼

    感谢博主分享,我还一直没有这个远程头像的呢,学习中

    2016-10-09 19:50 回复
  16. avatar
    11楼

    过来看看

    2016-10-03 19:20 回复
  17. avatar
    10楼
    zjjfx88 Google Chrome Windows

    我的头像还是不行,求指导啊,用的是wp4.6和您的主题

    2016-09-06 11:04 回复
  18. avatar
    9楼

    从百度点进来的,支持一下,希望站长您多出一些好文章。

    2016-08-19 22:04 回复
  19. avatar
    8楼

    头像被墙 很困扰

    2016-07-15 18:36 回复
  20. avatar
    7楼

    一直都没有头像~~~

    2016-07-01 16:49 回复
  21. avatar
    6楼

    直接用的多说的缓存。。

    2016-06-11 21:18 回复
  22. avatar
    5楼
    李昌奎 QQ浏览器 Windows

    老大,正文字体变大,从哪里设置?谢谢!

    2016-06-06 20:00 回复
    • avatar
      秒速赛车时间 Mozilla Firefox Windows

      看看css有没有加载正常,或者css被修改了。评论的时候填网站地址,我可以看一下问题。

      2016-06-08 10:12 回复
    • avatar
      李昌奎 QQ浏览器 Windows

      lichangkui.com

      2016-06-08 10:23 回复
      • avatar
        秒速赛车时间 Mozilla Firefox Windows

        字体大小很正常啊,没有看到变大 :neutral:

        2016-06-08 13:49 回复
        • avatar
          李昌奎 QQ浏览器 Windows

          老大,是我表述有问题。我希望字体能够变大一些,目前字体太小。

          2016-06-08 15:11 回复
          • avatar
            秒速赛车时间 Mozilla Firefox Windows

            在主题的style.css里面找到 .context
            然后在括号里面加上 font-size:14px;
            觉得还小可以自行调整数字大小。改好之后访问的时候清空浏览器缓存,防止缓存在导致看不到修改结果。

            2016-06-08 16:39 回复
            • avatar
              李昌奎 QQ浏览器 Windows

              .context{position:relative;overflow:hidden;}
              .context p{padding:5px 0px;margin:0;line-height:22px;text-indent:2em;}
              .context h4{margin:10px 0 5px 0}
              .context h5{font-size:15px;padding:3px 8px;background:#ededed;border:1px #ddd solid;}
              是这里吧,具体改哪一行?

              2016-06-08 17:09 回复
              • avatar
                李昌奎 QQ浏览器 Windows

                在第一行增加了,正文已经变大,首页还没有变化。

                2016-06-08 17:13 回复
                • avatar
                  秒速赛车时间 Mozilla Firefox Windows

                  在主题的style.css里面找到 .entry_post
                  还是同样的操作。

                  2016-06-11 20:46 回复
  23. avatar
    4楼

    希望更新到 Weisay Simple 2.2版本里

    2016-06-04 09:03 回复
  24. avatar
    地板
    大发 Mozilla Firefox Mac OS

    挂在get_avatar_url就行了。

    2016-06-01 14:31 回复
  25. avatar
    板凳

    :lol: 我的主题好像没这个问题

    2016-05-30 13:21 回复
  26. avatar
    沙发

    感觉还是得用头像缓存,一劳永逸啊。

    2016-05-27 06:05 回复
    • avatar
      秒速赛车时间 Mozilla Firefox Windows

      万一头像有更新的,如果好用的吧还是使用官方的头像地址方便一些。

      2016-05-28 21:35 回复

发表评论

avatar

电子邮件地址不会被公开。 必填项已用 * 标注

question razz sad smile redface biggrin surprised eek confused cool lol mad rolleyes wink neutral cry

快捷键:Ctrl+Enter

  • 中国社会科学院在京召开研讨会 探讨“三大史诗”在新时代的传承与发展 2019-06-16
  • 从稳中向好发展态势看我国经济良好前景 2019-06-16
  • 北京天安门广场更换花卉 2019-06-12
  • 除了杨崇勇,“2亿元贪官俱乐部”至少还有这些人 2019-06-11
  • 习近平:真抓实干埋头苦干万众一心 夺取脱贫攻坚战全面胜利 2019-06-11
  • 为社会奉献爱心 用青春书写梦想 2019-06-09
  • 重磅福利来袭,汽车之家盛大开启618品质购车节 2019-06-09
  • 相思湖边包鱼粽 孝心满满全家欢 2019-06-03
  • 高清:里约奥运会官方海报在当地博物馆展出 2019-06-03
  • 尧都农商银行全力推进服务“三农”工作 2019-05-20
  • 【理上网来】以创新为基点,是“过坎”的关键 2019-05-18
  • 台湾学者黄一农:书院不是“盘”下名号来挣钱的 2019-05-15
  • 靠啥为基层留住人才?( 民生视线·引导人才流动 助力均衡发展①) 2019-05-15
  • 结构优 动能足 中国经济继续保持高质量发展 2019-05-15
  • 内蒙古伊利实业集团股份有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-13
  • 890| 868| 303| 671| 950| 360| 510| 285| 52| 602|