WordPress gravatar 头像缓存补充说明
前些天写了一篇《回调函数个性化 WordPress 评论样式》,本是一篇学习记录的文章,没想到还引起了一些反响,比如小邪本着打破沙锅问到底的原则深入研究了 PHP 的 Callback 与其在 WP 中的使用,还有 hzlzh 童鞋补充说明了 wp thread comment 和 wp recentcomments 插件在 AJAX 回复后实现 gravatar 头像缓存的方法。
其中对于 hzlzh 关于 wp thread comment 和 wp recentcomments 插件使用生成的 gravatar 头像缓存问题,hzlzh 在《回调函数个性化 WordPress 评论样式》评论中就和我讨论了一下下,在我准备下手解决这一问题前,hzlzh 就先我一步搞定了,佩服佩服,所以关于此方法我就不多说了,只是还想补充一点。
因为我的嵌套回复并不是用 wp thread comment 插件实现的,而是用 Willin 大师的 WordPress 内置嵌套评论专用 Ajax comments 的方法,不过一样遇到了 hzlzh 说到的问题,在回复某条评论后且在刷新当前页面之前,该评论的 gravatar 头像是直接从 gravatar.com 调取的,而没有用缓存,其实这个问题并不严重,但是为了追求完美与全站统一的效果,还是小改一下吧,修改的方法和原理大致与 hzlzh 说的相同。
在 comments-ajax.php 文件中找到如下代码:
<?php echo get_avatar($comment,$size='36',$default='<path_to_url>' ); ?>
将其替换成 Willin 大师的迷你版 gravatar 头像缓存方法中的代码:
<?php
$f = md5(strtolower($comment->comment_author_email));
$a = get_bloginfo('wpurl') .'/gravatar/'.$f.'.jpg';
$e = ABSPATH . 'gravatar/'.$f.'.jpg';
$t = 1209600;
$d = get_bloginfo('wpurl'). '/gravatar/default-gravatar.png';
if ( !is_file($e) || (time() - filemtime($e)) > $t ){
$r = get_option('avatar_rating');
$g = 'http://www.gravatar.com/avatar/'.$f.'?s=32&d='.$d.'&r='.$r;
copy($g, $e);
}
if (filesize($e) < 500) {copy($d, $e);}
?>
<img width='32' height='32' class='avatar' src='<?php echo $a ?>' alt='' />
$f = md5(strtolower($comment->comment_author_email));
$a = get_bloginfo('wpurl') .'/gravatar/'.$f.'.jpg';
$e = ABSPATH . 'gravatar/'.$f.'.jpg';
$t = 1209600;
$d = get_bloginfo('wpurl'). '/gravatar/default-gravatar.png';
if ( !is_file($e) || (time() - filemtime($e)) > $t ){
$r = get_option('avatar_rating');
$g = 'http://www.gravatar.com/avatar/'.$f.'?s=32&d='.$d.'&r='.$r;
copy($g, $e);
}
if (filesize($e) < 500) {copy($d, $e);}
?>
<img width='32' height='32' class='avatar' src='<?php echo $a ?>' alt='' />
同样的道理,对于侧边栏读者墙中的 gravatar 头像缓存也是这样实现的。
-
QQ 自定义头像+Gravatar 头像缓存2010年04月6日 -
Wordpress 侧边栏带头像的最新评论2009年12月26日 -
Wordpress 免插件读者墙修订版2009年12月1日 -
Wordpress 2.7+主题 gravatar 头像缓存2009年11月13日
我的博客不用缓存,下载的很快,修改地址就行了
哇咔咔……谢谢了哈
嘿嘿 刚发现了一个自己的问题 忘记了一个图片
default-gravatar.png
来研究一下Gravatar缓存
Pingback: Willin迷你Gravatar缓存修改版 | 邪罗刹的菠萝阁
前一段时间用的A9主题好像就是如此的!
突然发现Jerry Chen小朋友居然在万老师博客打广告,哈哈哈哈。
我还以为是友情推广。。
。。。当然是收费广告,出于友情,已经打了折啦
恩哈,已经打了有一段时间咯
我用的是荒野孤灯文章中介绍的办法,同样强大!
一样一样,我就是修改他的方法而已
你的gravatar 头像缓存多长时间清一次啊?
7天清理一次,不过你有要求,我就手动清理了一下哈
呵,自己找到原因了,文件夹位置没放对。呵。
出现以下情况是什么原因呀
Warning: copy(/home/wmw58/public_html/3t1p/gravatar/d34d3a0e64809dc205c9cb364cd63ec9.jpg) [function.copy]: failed to open stream: No such file or directory in /home/wmw58/public_html/3t1p/wp-content/themes/3t1p/comments-ajax.php on line 152
Warning: filesize() [function.filesize]: stat failed for /home/wmw58/public_html/3t1p/gravatar/d34d3a0e64809dc205c9cb364cd63ec9.jpg in /home/wmw58/public_html/3t1p/wp-content/themes/3t1p/comments-ajax.php on line 154
Warning: copy(/home/wmw58/public_html/3t1p/gravatar/d34d3a0e64809dc205c9cb364cd63ec9.jpg) [function.copy]: failed to open stream: No such file or directory in /home/wmw58/public_html/3t1p/wp-content/themes/3t1p/comments-ajax.php on line 154
没关系,只要帮我看看哪有问题就行了。呵。我自己改,我也不好意思麻烦你帮我改呢。
暂时还有一个问题请教,我想弄个微博,在前台发表的那种,就是发表时不写标题的,但我弄了后,标题会直接调用内容做为标题,怎么样让没写标题的直接就是无标题, 日志显示时有标题就调用,没有就不调用。 不知道我说清楚没。呵
我是直接把必表文章的框放在前台的,标题一栏是隐掉的,没有填的,发表后,日志会自动调用发表的内容做为标题。而不像在后台发表时,如果没有写标题的话,后台会显示无标题,前台会不显示标题
这个还要看你主题的函数是怎么写的,否则我也说不清楚
你现在忙吗?不知道方不方便加你QQ呀。帮我看看。
Q:101149488
不过最近可能没有时间改主题,手头上还有一个任务没有完成
难怪我上面图像显示慢,更新也慢,我也整整去
让 gravatar 的更新权掌握在自己的手上
已订阅了你的站,早听说万戈很强大了。哈。以后常来踩!好多东西不懂,可以请教你吧。
趁你在线,现在就请教一个问题,哈 ,怎么记录住留言者的信息呀,像这里显示一样,欢迎归来。发我个教程。哈,谢谢
教程已经写过鸟~
http://wange.im/hide-visitor-info-in-wordpress.html
多谢多谢。哈。我每次都是百度找的。不过问你们还是更直接些呀。这样更快更准。哈
就算我不在线,你也可以给我留言哈,基本在1小时内就会回复你的
好地。哈。万分感谢!等阵子我的BLOG弄好,也到我那去踩踩,到时还要转点你的文章。哈。记录下来,免得一阵子不弄又忘了。嘿
下面不能嵌套了,换个地方回你
等你建好blog,一定回访你,HOHO
测试gravatar的功能!
来这里看看,感觉写的不错,收藏了!
简单点好啊,每次都要去修改function...
万戈很会鼓捣
主题太牛逼 实在没力气搞缓存了 放弃
你居然也搞了个im的米
没办法 没喜欢的米了 我在等zhangyu.com掉下来
万兄的这套表情不错,我借用了~~~
应该同意吧?
呵呵,同意同意,我以前有提供过打包下载的
我都没有搜索,抢在寝室断电前点了22次“图片另存为”,然后马上上传,关机
"迷你版" 哈! 誰幫我取的? 以前取了 "大師", 還沒結帳啊~ 現又多了一個~
這是很基礎的 gravatar 引用 + copy 而已, 應該會代碼的都會吧~
哈哈,都是我取的,实至名归啊
willin 大师,久闻大名呀。哈,对了,顺便问下,怎么记录住留言者的信息呀,像这里显示一样,欢迎归来。
你的站咋打不开了呀。换网址了?我还想找找WordPress 内置嵌套评论专用 Ajax comments
我现在的这个是inove改过来的,所以不知道Ajax提交评论是不是可以用你上面所说的那种方法!
也可以,原理是一样的
我也得给缓存一下,发现gravatar的网站比我的慢多了,严重影响效果
等gravatar不幸被墙之后,那缓存就更有意义了
估计不会太远了
不要想太复杂了,其实很简单
大师啊,这个好,小邪的那篇我也在研究,刚好合起来用
呵呵,小邪那篇和这篇是互补的
你的人气好旺哟,天天旺旺!
哎万哥,我真的是佩服你呀,这么能折腾的。
只要是关于WP的,我都折腾
我都懒得换头像~
不是就这么替换这个就好了吧。。~~
就这么替换就好了,其实还可以再简化一些
WP很不错
使劲折腾吧。老了就没这份精力和激情了
又学习鸟....
猪猪用linux
我喜欢用hook get gravatar的方法缓存,不知道效率怎么样
万戈兄真是太有才了,每天必来此地取经。。
呵呵,过奖啊,WP总是折腾不完啊
反正也没多少图像给我缓存
什么时候也抢下沙发
我这里沙发不算少,基本每天都有啊,呵呵
纯围观,纯水一次。哈哈!
纯水一次?
已经是N次啦
冤枉啊!我以前都是很认真很负责人的留下每一个字呢.
甚至连标点符号该不该用,该用什么我都考虑很久的!
非技术性围观。。。
对于这种完全看不懂的技术性文字,本着凑热闹想法的不明真相群众,围观中……
呵呵,围观也欢迎啦~
挺好~~ 有空也改改..
水势凶猛的,做做也不错!
就怕流量跟不上呀,呵呵
懒人不想在我的网站做缓存。= =
呵呵,无聊的时候可以折腾一下嘛
万头,Q在线不?问你个问题哈
是转载的,还是原创啊
非要逼我重操技术活是吧
恩,操一下让我瞧瞧
怎么万兄的国旗是澳洲啊
我原來長期是袋鼠國的,換了ISP後回國了,我現在應該是美利堅的國旗。
插件的BUG,三天两头犯一下病
又折腾了,非常好,哈哈。
小小折腾,最近没什么大题材给我折腾,没劲
那你自己折腾个主题吧
这个又太大了,我怕一人之力无法完成
你先尝试,你连尝试不去,怎么能折腾出主题呢?
我已经下了决心了 考试完了换WP
解决完一个问题我就换
ID自动增长不连续的现象
关闭自动保存草稿功能就行
提前恭贺你乔迁之喜啊,欢迎欢迎
来看看。。。有收获
万戈也玩技术?
三脚猫功夫,偶尔为之
老万,果然追求完美,一起继续折腾吧
呵呵,不完美的都被我折腾完了,现在只能折腾剩下的完美了
前几天,在你这http://wange.im/cache-gravatar.html找到这方法,终于把头像缓存了。谢谢了。
而用Wp-recentcomments评论插件的改下core.php着个文件也就可以实现啦。如果有用MG12的Elegant Box这个主题的朋友可以去我那看下我整理的步骤(小AD)。
HOHO,我去参观一下
我也反馈了呀~!为什么没有我的名字!
不公平!
。。。名额有限,说完为止。。。
感觉好复杂啊,不过继续慢慢学习
我就知道,是我说太复杂了。。。
袋鼠國群眾又一次出現
哎呀呀,难道是沙发??!!
小邪有史以来第一次坐万戈兄的沙发,嘻嘻 ~
感谢CCTV、感谢MTV、感谢Channel[V]、感谢SMG ~
鲜花,鼓掌,荧光棒~
你忘了感谢我。
呵呵,也感谢你让出宝座
~