整理评论头像不显示方法

两天
两天
管理员
739
文章
0
粉丝
学习资料 资源分享6357,447字数 2001阅读6分40秒阅读模式

今天打开自己的博客,发现我的评论头像全都挂了,同时也看到Junan也给我留言说

评论头像 挂了~~改一下吧~~文章源自两天的博客-https://2days.org/1887.html

看来真的不妙了,我以为是网络问题呢。。。后来又看到其他几个博友的头像也挂了,我首先想到了不是又被某组织给了吧?文章源自两天的博客-https://2days.org/1887.html

真杯具。。。文章源自两天的博客-https://2days.org/1887.html

在群里寻求帮助,yu发了一个解决方法文章源自两天的博客-https://2days.org/1887.html

http://www.yublogger.info/?p=655文章源自两天的博客-https://2days.org/1887.html

同时,我搜了一下,也看到了其他不同的解决方法,现整理如下:文章源自两天的博客-https://2days.org/1887.html

1、yu提供的方法文章源自两天的博客-https://2days.org/1887.html

到wp-includes文件夹下找到pluggable.php 文件 找到(1645行左右。)文章源自两天的博客-https://2days.org/1887.html

  1. if ( is_ssl() ) {  
  2. $host = 'https://secure.gravatar.com';  
  3. else {  
  4. if ( !emptyempty($email) )  
  5. $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );  
  6.  else  
  7. $host = 'http://0.gravatar.com';</pre>  
  8. 改成  
  9. <pre lang="PHP">if ( is_ssl() )  
  10. $host = 'https://secure.gravatar.com';  
  11. else  
  12. $host = 'http://www.gravatar.com';  

2、同样也是在wp-includes文件夹下找到pluggable.php 文件找到(1645行左右)文章源自两天的博客-https://2days.org/1887.html

  1. if ( is_ssl() ) {  
  2.         $host = 'https://secure.gravatar.com';  
  3.     } else {  
  4.         if ( !emptyempty($email) )  
  5.             $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );  
  6.         else  
  7.             $host = 'http://0.gravatar.com';  
  8.     }  

将其中的”http://%d.gravatar.com“,”http://0.gravatar.com“改为”http://www.gravatar.com“文章源自两天的博客-https://2days.org/1887.html

即:

  1. if ( is_ssl() ) {  
  2.         $host = 'https://secure.gravatar.com';  
  3.     } else {  
  4.         if ( !emptyempty($email) )  
  5.             $host = sprintf( "http://www.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );  
  6.         else  
  7.             $host = 'http://www.gravatar.com';  
  8.     }  

其实以上两种方法原理就是使用“www.gravatar.com”这个Gravatar主站的服务器代替“0.gravatar.com”或者其他被墙掉的服务器,虽然速度还是很慢,但是最起码比头像不加载好得多。

3、Gravatar头像本地化
①.首先下载gravatar头像本地化组件,解压缩,上传,路径自定义,如在根目录下建立gravatar目录。
②.gravatar 目录内应该有两个文件夹: cache 和 profile;三个文件: index.php, .htaccess, mysql.sql。
③.更改cache文件夹的权限为777以顺利完成头像的缓存。
④.本地新建一个php文件,写入以下内容,文件名 avatar.php,上传至profile文件夹内。请自行更改相应内容符合自己的需求,切记要放置默认头像。

  1. $config['default'] = 'http://domain.com/default-gravatar.png';//无头像时返回的默认头像路径  
  2. $config['rating'] = 'PG';//gravatar的内容级别  
  3. $config['size'] = 64;//头像尺寸  

⑤.编辑.htaccess文件(注意不是根目录下面的.htaccess文件,而是组件包内的.htaccess文件),默认

  1. RewriteRule . index.php [L]  

请依照你的实际放置目录修改,比如:

  1. RewriteRule . /gravatar/index.php [L]  

⑥.修改 wp-includes/pluggable.php:大概在1523行处有一个如下的代码,把if开始到endif结束替换为下面的代码。

  1. <?php  
  2.  if ( !function_exists( 'get_avatar' ) ) :  
  3.  /  Retrieve the avatar for a user who provided a user ID or email address.  
  4.    @since 2.5  
  5.   @param int|string|object $id_or_email A user ID,  email address, or comment object  
  6.   @param int $size Size of the avatar image  
  7.   @param string $default URL to a default image to use if no avatar is available  
  8.   @param string $alt Alternate text to use in image tag. Defaults to blank  
  9.   @return string <img> tag for the user's avatar  
  10.  /  
  11.  function get_avatar( $id_or_email$size = '96', $default = ''$alt = false ) {  
  12.      if ( ! get_option('show_avatars') )  
  13.          return false;  
  14.    
  15.     if ( false === $alt)  
  16.          $safe_alt = '';  
  17.      else  
  18.          $safe_alt = esc_attr( $alt );  
  19.    
  20.   
  21.     if ( !is_numeric($size) )  
  22.          $size = '96';  
  23.    
  24.   
  25.     $email = '';  
  26.      if ( is_numeric($id_or_email) ) {  
  27.          $id = (int) $id_or_email;  
  28.          $user = get_userdata($id);  
  29.          if ( $user )  
  30.              $email = $user->user_email;  
  31.      } elseif ( is_object($id_or_email) ) {  
  32.          if ( isset($id_or_email->comment_type) && '' != $id_or_email->comment_type && 'comment' != $id_or_email->comment_type )  
  33.              return false; // No avatar for pingbacks or trackbacks  
  34.    
  35.   
  36.         if ( !emptyempty($id_or_email->user_id) ) {  
  37.              $id = (int) $id_or_email->user_id;  
  38.              $user = get_userdata($id);  
  39.              if ( $user)  
  40.                  $email = $user->user_email;  
  41.          } elseif ( !emptyempty($id_or_email->comment_author_email) ) {  
  42.              $email = $id_or_email->comment_author_email;  
  43.          }  
  44.      } else {  
  45.          $email = $id_or_email;  
  46.      }  
  47.    
  48.   
  49.     
  50.          $host = 'http://2days.org';  //注意这里要修改为你的博客的地址  
  51.    
  52.   
  53.     if ( !emptyempty($email) ) {  
  54.          $out = "$host/gravatar/cache/avatar/";  
  55.          $out .= md5( strtolower$email ) );  
  56.          
  57.          $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";  
  58.      } else {  
  59.          $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";  
  60.      }  
  61.    
  62.   
  63.     return apply_filters('get_avatar', $avatar$id_or_email$size$default$alt);  
  64.  }  
  65.  endif;  
  66.  ?>  

到这里把Gravatar头像缓存到本地的工作就完成了详细的步骤可以点击这里去查看。

以上来自飞晏博客,部分修改。

好了,修改完毕以后打开你的文章页,看看评论者的头像是不是都显示出来了?

本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

weinxin
312379857
微信号已复制
←QQ扫一扫添加QQ好友
版权声明:本站原创文章转载请注明文章出处及链接,谢谢合作!
广告也精彩
 最后更新:2013-9-22
  • 博客
  • 评论
  • 头像
  • Gravatar
评论  63  访客  34  作者  27
    • 竹下无为梦
      竹下无为梦 4

      以后再研究。挂了就挂了,我没读者墙,影响不大。

      • 大鲨鱼
        大鲨鱼 3

        其实移动的宽带早就和谐了头像,所以我找就换了!

        • 花脸猴
          花脸猴 1

          能解决最好了

          • huangjun
            huangjun 4

            我是wp2.92,所以没影响。

            • su
              su 5

              呵呵 我的已经改好了啊
              点点广告啊 最近收益极低啊

                • 两天
                  两天

                  @ su @su, 我的广告很杯具啊,3%多。。。 :arrow:

                • 叶月·葵
                  叶月·葵 3

                  今天上博,发现我的也挂掉了…竟连gravatar也不放过。
                  另外WP Gravatar Mini Cache插件很方便。

                  • 梅州SEO
                    梅州SEO 1

                    没事就好!

                    • 小杰
                      小杰 1

                      天朝的默写人啊~~

                      • lovee
                        lovee 5

                        兲朝真是各种不美233

                        • 朵未
                          朵未 0

                          呵呵,用老版本的头像缓存+本地的。现在缓存插件是一定要开了。不然以后www的被墙,头像就一张都显示不了了。

                            • 两天
                              两天

                              @ 朵未 @朵未, 汗了,看来不用不行了啊。。。要是WWW也完了可真全都完了。。。 :!:

                                • 两天
                                  两天

                                  @ 两天 @两天, 改了本地缓存头像了,可是没头像的显示不正常啊。。。。

                                  Warning: copy() [function.copy]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/days/public_html/wp-content/themes/blocks/functions.php on line 481

                                  杯具。。。 :idea:

                              • 学夫子
                                学夫子 4

                                好像是换地址了,我的似乎还没有出问题

                                • 先看看
                                  先看看 1

                                  这问题我没有遇到过

                                    • 两天
                                      两天

                                      @ 先看看 @先看看, 没遇到那就收藏一下好咯,国内的互联网,说不定就遇到了。

                                    • 雨阳美眉
                                      雨阳美眉 4

                                      这么多方法呢!已经改好了~

                                      • Code之行人
                                        Code之行人 4

                                        没办法了看来只能修改了。
                                        你的是godaddy的广告啊

                                        • skidu
                                          skidu 5

                                          最近电信抽风,海外空间表示压力很大

                                            • 两天
                                              两天

                                              @ skidu @skidu, 哎,国内互联网,不好说。。。 :-x

                                            • skidu
                                              skidu 5

                                              原来你也解决了。。后知后觉啊~~呵呵
                                              准备搞成本地的吧,免得哪天突然就被和谐了 – –

                                              • 大鲨鱼
                                                大鲨鱼 3

                                                被和谐了,但是我没事,我一直用2/7的调用函数!

                                                • 猪猪懒人窝
                                                  猪猪懒人窝 1

                                                  应该出错了

                                                匿名

                                                发表评论

                                                匿名网友
                                                :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
                                                确定

                                                拖动滑块以完成验证
                                                加载失败