今天打开自己的博客,发现我的评论头像全都挂了,同时也看到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
- if ( is_ssl() ) {
- $host = 'https://secure.gravatar.com';
- } else {
- if ( !emptyempty($email) )
- $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
- else
- $host = 'http://0.gravatar.com';</pre>
- 改成
- <pre lang="PHP">if ( is_ssl() )
- $host = 'https://secure.gravatar.com';
- else
- $host = 'http://www.gravatar.com';
2、同样也是在wp-includes文件夹下找到pluggable.php 文件找到(1645行左右)文章源自两天的博客-https://2days.org/1887.html
- if ( is_ssl() ) {
- $host = 'https://secure.gravatar.com';
- } else {
- if ( !emptyempty($email) )
- $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
- else
- $host = 'http://0.gravatar.com';
- }
将其中的”http://%d.gravatar.com“,”http://0.gravatar.com“改为”http://www.gravatar.com“文章源自两天的博客-https://2days.org/1887.html
即:
- if ( is_ssl() ) {
- $host = 'https://secure.gravatar.com';
- } else {
- if ( !emptyempty($email) )
- $host = sprintf( "http://www.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
- else
- $host = 'http://www.gravatar.com';
- }
其实以上两种方法原理就是使用“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文件夹内。请自行更改相应内容符合自己的需求,切记要放置默认头像。
- $config['default'] = 'http://domain.com/default-gravatar.png';//无头像时返回的默认头像路径
- $config['rating'] = 'PG';//gravatar的内容级别
- $config['size'] = 64;//头像尺寸
⑤.编辑.htaccess文件(注意不是根目录下面的.htaccess文件,而是组件包内的.htaccess文件),默认
- RewriteRule . index.php [L]
请依照你的实际放置目录修改,比如:
- RewriteRule . /gravatar/index.php [L]
⑥.修改 wp-includes/pluggable.php:大概在1523行处有一个如下的代码,把if开始到endif结束替换为下面的代码。
- <?php
- if ( !function_exists( 'get_avatar' ) ) :
- / Retrieve the avatar for a user who provided a user ID or email address.
- @since 2.5
- @param int|string|object $id_or_email A user ID, email address, or comment object
- @param int $size Size of the avatar image
- @param string $default URL to a default image to use if no avatar is available
- @param string $alt Alternate text to use in image tag. Defaults to blank
- @return string <img> tag for the user's avatar
- /
- function get_avatar( $id_or_email, $size = '96', $default = '', $alt = false ) {
- if ( ! get_option('show_avatars') )
- return false;
- if ( false === $alt)
- $safe_alt = '';
- else
- $safe_alt = esc_attr( $alt );
- if ( !is_numeric($size) )
- $size = '96';
- $email = '';
- if ( is_numeric($id_or_email) ) {
- $id = (int) $id_or_email;
- $user = get_userdata($id);
- if ( $user )
- $email = $user->user_email;
- } elseif ( is_object($id_or_email) ) {
- if ( isset($id_or_email->comment_type) && '' != $id_or_email->comment_type && 'comment' != $id_or_email->comment_type )
- return false; // No avatar for pingbacks or trackbacks
- if ( !emptyempty($id_or_email->user_id) ) {
- $id = (int) $id_or_email->user_id;
- $user = get_userdata($id);
- if ( $user)
- $email = $user->user_email;
- } elseif ( !emptyempty($id_or_email->comment_author_email) ) {
- $email = $id_or_email->comment_author_email;
- }
- } else {
- $email = $id_or_email;
- }
- $host = 'http://2days.org'; //注意这里要修改为你的博客的地址
- if ( !emptyempty($email) ) {
- $out = "$host/gravatar/cache/avatar/";
- $out .= md5( strtolower( $email ) );
- $avatar = "<img alt='{$safe_alt}' src='{$out}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
- } else {
- $avatar = "<img alt='{$safe_alt}' src='{$default}' class='avatar avatar-{$size} photo avatar-default' height='{$size}' width='{$size}' />";
- }
- return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
- }
- endif;
- ?>
到这里把Gravatar头像缓存到本地的工作就完成了详细的步骤可以点击这里去查看。
以上来自飞晏博客,部分修改。
好了,修改完毕以后打开你的文章页,看看评论者的头像是不是都显示出来了?
本站文章大部分始于原创,用于个人学习记录,可能对您有所帮助,仅供参考!

广东省东莞市 20F
以后再研究。挂了就挂了,我没读者墙,影响不大。
山东省滨州市 B1
@ 竹下无为梦 @竹下无为梦, 要是真的墙了,我也得撤下读者墙
和头像了。、。。
江西省上饶市 19F
其实移动的宽带早就和谐了头像,所以我找就换了!
山东省滨州市 B1
@ 大鲨鱼 @大鲨鱼, 哎,国内的互联网怎么就这么麻烦呢
安徽省六安市 18F
能解决最好了
山东省滨州市 B1
@ 花脸猴 @花脸猴, 但愿是解决了。。。
湖北省武汉市 17F
我是wp2.92,所以没影响。
山东省滨州市 B1
@ huangjun @huangjun, 嗯,2.92和3.01中部分代码不同。。
广东省 16F
呵呵 我的已经改好了啊
点点广告啊 最近收益极低啊
山东省滨州市 B1
@ su @su, 我的广告很杯具啊,3%多。。。
湖南省娄底市 15F
今天上博,发现我的也挂掉了…竟连gravatar也不放过。
另外WP Gravatar Mini Cache插件很方便。
山东省滨州市 B1
@ 叶月·葵 @叶月·葵, 嗯,现在我也是用了这个插件。
广东省梅州市 14F
没事就好!
山东省滨州市 B1
@ 梅州SEO @梅州SEO, 嗯呢,没事最好。
河南省新乡市 13F
天朝的默写人啊~~
山东省滨州市 B1
@ 小杰 @小杰, 这个,什么个意思?
日本 12F
兲朝真是各种不美233
山东省滨州市 B1
@ lovee @lovee, 杯具的天朝。。。
江西省赣州市 11F
呵呵,用老版本的头像缓存+本地的。现在缓存插件是一定要开了。不然以后www的被墙,头像就一张都显示不了了。
山东省滨州市 B1
@ 朵未 @朵未, 汗了,看来不用不行了啊。。。要是WWW也完了可真全都完了。。。
山东省滨州市 B2
@ 两天 @两天, 改了本地缓存头像了,可是没头像的显示不正常啊。。。。
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
杯具。。。
重庆市 10F
好像是换地址了,我的似乎还没有出问题
山东省滨州市 B1
@ 学夫子 @学夫子, 真杯具啊,我都换成WWW了~~
广东省深圳市 9F
这问题我没有遇到过
山东省滨州市 B1
@ 先看看 @先看看, 没遇到那就收藏一下好咯,国内的互联网,说不定就遇到了。
辽宁省大连市 8F
这么多方法呢!已经改好了~
山东省滨州市 B1
@ 雨阳美眉 @雨阳美眉, 嗯,单元主站不要也给墙了。。。
广东省珠海市斗门区 7F
没办法了看来只能修改了。
你的是godaddy的广告啊
山东省滨州市 B1
@ Code之行人 @Code之行人, 少许改几个字母就好了。
是GD的广告,反正闲着也是闲着,就加上广告咯~~
甘肃省兰州市 6F
最近电信抽风,海外空间表示压力很大
山东省滨州市 B1
@ skidu @skidu, 哎,国内互联网,不好说。。。
甘肃省兰州市 5F
原来你也解决了。。后知后觉啊~~呵呵
准备搞成本地的吧,免得哪天突然就被和谐了 – –
山东省滨州市 B1
@ skidu @skidu, 搞成本地的占空间啊~~
江西省南昌市 4F
被和谐了,但是我没事,我一直用2/7的调用函数!
山东省滨州市 B1
@ 大鲨鱼 @大鲨鱼, 哎,国内比较乱。。。
河南省郑州市 3F
应该出错了
山东省滨州市 B1
@ 猪猪懒人窝 @猪猪懒人窝, 出错?哪里?
来自外部的引用