关于Willin的Gravatar缓存的一点小问题
前段时间Gravatar抽风,网站一直处于和Gravatar一样的半抽风状态。大多数时候读者的头像都是无法加载的,囧。于是我给主题添加了Willin Kan大牛的Gravatar缓存。
按照Willin的方法,首先在WP根目录创建avatar文件夹,设定权限755,然后在functions.php里面添加下面一串代码,并且将主题的get_avatar()函数替换成my_avatar()。
在functions.php里面添加代码如下:
/* Mini Gavatar Cache by Willin Kan. */ function my_avatar( $email, $size = '42', $default = '', $alt = '' ) { $alt = esc_attr( $alt ); $f = md5( strtolower( $email ) ); $w = get_bloginfo('wpurl'); // 如果想放在 wp-content 路徑之下, 改為 $w = WP_CONTENT_URL; $a = $w. '/avatar/'. $f. '.jpg'; $e = ABSPATH. 'avatar/'. $f. '.jpg'; // 如果想放在 wp-content 路徑之下, 改為 $e = WP_CONTENT_DIR. '/avatar/'. $f. '.jpg'; $t = 1209600; //設定14天, 單位:秒 if ( empty($default) ) $default = $w. '/avatar/default.jpg'; if ( !is_file($e) || (time() - filemtime($e)) > $t ){ //當頭像不存在或文件超過14天才更新 $r = get_option('avatar_rating'); //$g = sprintf( "http://%d.gravatar.com", ( hexdec( $f{0} ) % 2 ) ). '/avatar/'. $f. '?s='. $size. '&d='. $default. '&r='. $r; // wp 3.0 的服務器 $g = 'http://www.gravatar.com/avatar/'. $f. '?s='. $size. '&d='. $default. '&r='. $r; // 舊服務器 (哪個快就開哪個) copy($g, $e); $a = esc_attr($g); //新頭像 copy 時, 取 gravatar 顯示 } if (filesize($e) < 500) copy($default, $e); echo "<img title='{$alt}' alt='{$alt}' src='{$a}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; } // -- END ----------------------------------------
可是在这里出现了非常纠结的问题。zSnos2.5边栏获取评论Avatar的时候,干脆就木有头像显示了。看zSnos里面的循环,理论输出的应该是:
<li><img alt='' src='xxx.jpg' class='avatar avatar-40 photo' height='40' width='40' /><a href="xxx.html" title="on 文章标题">评论内容</a><br /><span class="rc_author">by 评论者</span></li>
可是添加了Willin的代码后,sidebar.php在执行过程中分为了两个,先8个循环输出头像,然后8个循环输出评论内容。评论框的样式就被破坏了。
求解救!牛人出马!z大能不能来?
34 thoughts on “关于Willin的Gravatar缓存的一点小问题”
爱莫能助 等高手吧
@Louis Han
TAT 高手快快显灵A!!! ❗ ❗ 😥 😥 😥
@Dick_Wu
我是来看Mac OS X的。。。 😮
@Clarkok
对的。是MBP~
@Dick_Wu
爽呐。。。不过MS Mac OS X跟ubuntu的表面上看起来就是应用数量的差别了,嘿嘿,话说我的ubu的桌面已经配置的跟Mac差不多了 😀
@Clarkok
是啊。Ubuntu强大。不过图形界面还是不如Macintosh流畅。
@Dick_Wu
那没办法,毕竟ubu是免费软件,没有像MacOS一样的硬件支持。而且MacOS还是自家的硬件
@Clarkok
对啊。还有一个问题就是硬件不统一。加入Ubuntu像MacBook一样装在统一的硬件上,开发者的效率可以高很多的很多。图形界面也很快能赶超Macintosh,Windows也面临同样的问题。
我不是Z大哈。应该是小问题,我明天用电脑看看啥样。现在手机看不出来
@zoe
嘿嘿。谢谢啦!我的边栏现在调用的是Gravatar数据。
@Dick_Wu
换PC了。
如果换为willin的头像缓存就变为什么模样啦?现在看着评论样式正常类
@zoe
就是先八个循环输出头像,再八个循环输出文字。。
@Dick_Wu
是不是头像和评论不在一起了?
先头像.后评论吗?
可能我想像的和实际情况不同.
今天又尼基塔我家却没有网!
@Michael
那你是怎么做到留言的?
@Dick_Wu
我爸单位。《那些年》你看了没有?
我用一个插件实现头像缓存的,代码版之前弄过,忘记什么原因没搞定,就换回插件了 😕
@老谢
插件木有反应。。。可能是主题的关系。
我的主机好像不支持 😈
@陌凡
可能目录权限的问题吧。
一直没看出有什么问题,似乎一切正常
@Indeed
因为我把边栏缓存去掉鸟~
请教个小问题
iTunes里下载了个.ipa程序。
咋和手机不能同步类?
同步完成后手机上木有软件。。
😥
完美越狱版5.01
@zoe
重启下试试看捏~你是用iTunes安装的还是同步助手安装的??还有AppSync要安装~
我已经退出越狱党了。
@Dick_Wu
是用itunes安装的。点了应用。发现同步步骤里根本就没同步要安装的软件。。
手机里面有装PP助手。现在想换为同步推。。
死活装不上呢。不知道我哪步做错了?
@zoe
AppSync装了吗?还有装完要重启啊!~
@Dick_Wu
appsync木装….重启过..木效果..
装上appsync就可以同步啦?
我试试去
@zoe
好像用iTunes同步是要AppSync的~
@Dick_Wu
呃。。好滴。谢谢哈
头像问题我这小本上没有测试环境。。等我弄好手机弄个环境测测试。
@zoe
解决了吗?那太谢谢啦!!!其实主要是php的问题。zBench也是这样~~
有空搭了个环境用zbench测试了下.正常.
用的willin头像缓存的第二种方法…
你看我站..就是缓存本地了..
我感觉既然能输出..只是样式不对,是不是CSS那里有问题了?
或者是你用第二种代码试试…
@zoe
太感谢啦!好的我试试第二种代码。~关缓存喽
一直用GravatarLocalCache,好用得很
@Jezzzz
不喜欢用插件。。用个插件这个主题没有任何的反应。。。。