邪罗刹的菠萝阁


> 最近老拿万戈老兄的文章来做题材,小邪都脸红鸟,╮(╯▽╰)╭,正在灰常用力地寻找灵感中。
> 万戈兄写了《WordPress gravatar 头像缓存补充说明》,小邪立马就换上了迷你缓存。

> 但是因为小邪分别有多个地方都要用到显示头像,所以小邪把程序的主要代码隔离了出来。
> 以减少空间占用。同时文中还有怎样编写回调函数的简单介绍,以此送给小邪的盆友 Fatkun

一. 使用方法:

> 呵呵,这里需要一个邮箱地址作为参数即可,/iava/iava.php?co=4tyle8@gmail.com。
> 像上面那行一样子填写就好咯,那么具体的在 WP 中的代码如下,小邪多举一些例子。

1. 评论模板处头像:

> 额,因为小邪的模板代码有点儿旧,没有使用 Wp_list_comments 函数,所以不需回调。
> 如果在模板的 Comments.php 中发现了 Wp_list_comments 函数,请参考万戈兄的文章

<img src="/iava/iava.php?co=<?php echo ($comment->comment_author_email);
?>" height="32" width="32" />

2. WP-RecentComments 插件侧栏:

> 修改处位于 wp-recentcomments/core.php,请按照下面的样子填入正确位置。

// 当默认头像来自 "/wp-recentcomments/avatars/" 目录时
} else if ($default != '') {
	$file = 'wp-content/plugins/wp-recentcomments/avatars/' . $default;
	if (file_exists($file)) {
		$file = get_bloginfo('siteurl') . '/' . $file;
		$avatar = '<div class="rc_avatar rc_' . $position . '">' .
get_avatar($email, $size, $file) . '</div>';
	}
// 当不包含默认头像时
} else {
	$avatar = '<div class="rc_avatar rc_' . $position . '"><img
src="http://tool.evlos.org/iava/iava.php?co='. md5(strtolower($email))
.'" alt="" /></div>';
}

3. WP-Thread-Comment 插件嵌套:

> 修改处位于此插件后台控制面板中的 “编辑评论的HTML” 处,请按需要填入正确位置。

<img src="/iava/iava.php?co=<?php echo ($comment->comment_author_email);
?>" height="24" width="24" />

> 万戈兄原文传送门 - http://wange.im/gravatar-buffer-supplement-in-wordpress.html

二. Willin迷你Gravatar缓存小邪修改版:

<?php
if (isset($_GET['co'])) {
	$ava_mail_md5 = $_GET['co'];
	$ava_mail_md5 = md5(strtolower($ava_mail_md5));
	$ava_url = './imgs/'.$ava_mail_md5.'.jpg';
	$ava_save_time = 1209600;
	$ava_default = 'http://'.$_SERVER["HTTP_HOST"].
dirname($_SERVER['SCRIPT_NAME']).'/default.jpg';
	if (!is_file($ava_url)||(time()-filemtime($ava_url))>$ava_save_time){
		$ava_get_url = 'http://www.gravatar.com/avatar/'.$ava_mail_md5.'?
s=32&d='.$ava_default.'&r=G';
		copy($ava_get_url,$ava_url);
	}
	if (filesize($ava_url)<500) {
		copy($ava_default, $ava_url);
	}
	header('location: '.$ava_url);
}
?>

> Willin原版程序传送门 - http://willin.heliohost.org/?p=1277

三. Header 函数的特殊用法:

> 小邪之所以把这个用法放在一个独立的标题下面讲,是因为小邪发现这样用特爽。
> 比如有一张图片的地址是 http://www.evlos.org/1.jpg,那么我们就这样。

<?php header('location: http://www.evlos.org/1.jpg'); ?>

> 把这段代码保存为一个 PHP 文件,比如 http://www.evlos.org/2.php。
> 然后我们这样子用,浏览器显示的确是上面 1.jpg 的样子,感觉特爽。

<img src="http://www.evlos.org/2.php" />

> 这样子可是妙用无穷喔,小邪就不多举例子鸟,(*^__^*) 嘻嘻,祝玩得开心。

四. 如何编写回调函数:

> Fatkun 问了小邪如何编写回调函数的问题,那么这些内容就送给 Fatkun 咯。
> 大家有兴趣的就一起看喔,打酱油的盆友,就帮小邪研究一下下面图片是否清晰吧。

> 小邪举一个最简单的例子,想必大家一定都能理解回调函数如何编写了喔。

$func_cont = 'echo $a+$b+$c;';
$func_val = '$a,$b,$c';
$func = create_function($func_val,$func_cont);
$func(1,2,3);

> 变量 $func_val 里面存储的是函数的变量,而 $func_cont 存储的则是函数内容。
> 咱们使用 Create_function 来建立这个函数,然后就可以使用咯,不难的喔。

> 吼吼,小邪去看《24小时》第三、四两集咯,看完再到博友博客上转悠转悠 O(∩_∩)O。

Leave a comment
125 Comments.
  1. pingcenter Mozilla Firefox Windows 坐沙发!#1

    这方面我还需加强学习啊。。明儿照着做做看。

    @
  2. Revolution Mozilla Firefox Windows 坐板凳!#2

    (=@__@=)哪来的那么多邪恶的图!

    @
  3. fatkun Google Chrome Windows 躺地板!#3

    这种插件我还没用过。。。一直让它从gravatar网站下载了。。。

    @
    • @fatkun , 呵呵,看感觉咯,小邪还是喜欢用缓存 ~
      就像小邪现在已经撤掉 Bloggerads 的广告,很早也撤掉了统计代码一样 ~
      小邪很在意速度来着 ~

      @
  4. Auston Jary Mozilla Firefox Windows 天花板!#4

    《24小时》真的很好看?
    最近在看那个The Big Bang Theory 挺有意思的

    @
  5. winy Mozilla Firefox Windows 下水道!#5

    为什么不用add_filter呢?这样更方便,直接hook 函数get_avatar好了

    @
    • @winy , 囧,因为一直很忙,所以小邪从来没有看过 Wp 的开发手册 ~
      所以不知道这个功能 ╮(╯▽╰)╭ ~

      @
  6. 缓存头像不是等于增加流量?你不是正愁流量么。。。

    @
  7. 那个第三眼是假的! :evil:

    @
  8. 如果老是php代码以后就只来看图了

    @
  9. 每天结尾的JPG是亮点,HIAHIA

    @
  10. 火狐下侧栏最新评论和组织下文字错位 :arrow:

    @
    • @619 , 郁闷,见鬼的火狐,升级到3.6以后就这样 ~
      昨天小邪去打吊针鸟 ~ 杯具 ~
      屁啊实验室的日程只能推迟鸟 ~

      @
    • @619 , 呵呵,随时来报告制作进程 ~
      现在已经搞定界面,准备整合Mysql数据库 ~

      @
    • @619 , Pr文本搞定了,传送门:http://i.evlos.org/
      其他的说明没来得及写,[alexa]是alex世界排名,[alexac]是alex国际排名 ~

      @
  11. 我看到我帅气的头像了。
    又是小萝莉呀~

    @
  12. 强烈要求最后图片下移100像素,以慰藉此文给各PHP盲带来的躁动~ :redface:

    @
  13. 下面的游戏很全嘛

    @
  14. 连续的技术型文章 :rolleyes:

    @
  15. 完了,我都到第八了,杯具啊!我可是每篇都给你回复的啊

    @
  16. 插不上话的Z-Bloger纯粹路过一次 :eek:
    看你们最近都整的不亦乐乎,真有点像换WP,可惜我的是Win机器。

    @
  17. 帅气,俺也去试试。

    @
  18. 哎,麻烦啊,我就不搞了~

    @
  19. 一.还是不理解为什么不做成插件.可能我老家伙跟你们对插件的认识不同吧.
    二.好东西,有待进一步发掘.想到的简单用法就是根据不同的条件换图片.比如根据星期什么的.
    三.难为你们给广大博友做科普了,其实Callback就是Callback...编程的时候很难不用到吧.
    四.用黑白图片做测试不具有普遍意义.

    @
    • @lifishake , 汗,您老还真是认真 ~
      一. 小邪一直没有时间去看 WP 的开发者手册,所以没有学
      二. 囧,为什么要根据星期换图片?这是头像缓存呀??
      三. 没办法,小邪也是才学 PHP 一个多月,所以大家一起学学
      四. 老兄,你真是太认真鸟,其实小邪是要你们测试那个MM是不是漂亮
       - 说白了就是无聊开个玩笑加贴个MM图,囧 ~

      @
      • @邪 罗刹,
        你这个小笨蛋竟然写了两个二。
        我说的是那个php加Header的用法所想到的用法。
        MM图片还不是要多少有多少,还以为你真讨论压缩质量呢,鄙视!

        @
    • @lifishake , 杯具,竟然写了俩二 ~
      还是你想到的用法真好,呵呵,赞一个 ~
      话说MM图的问题小邪这里的童鞋可都是知道的喔 ~ 嘿嘿,大碰蛋 ~

      @
  20. 我就知道你会上图!所以我来了!

    @
  21. 你就非得让我整个读者墙不可啊~ :confused:
    ps:为啥MM被你整哭了,你什么时候由YD变化成QS了……

    @
  22. 我每天来都是为了看你底部的那个JPG,哈哈 :rolleyes:

    @
  23. 我还是一名,娃哈哈。。。 :razz:

    @
  24. 额,我还是继续来看图吧,小邪,你都测试几个图床了?有没有什么结果?分析一下嘛。

    @
  25. 写文章都要成精了,这么风趣

    @
  26. 咋看我这头像都挺炸眼,哇咔咔

    @
  27. 你底部竟然挂这连接。。。。。。。。100元吧。。。。。。

    @
  28. 先看了 等有空试试

    @
  29. 有现成的ASP源码不?

    @
  30. 学习下,自己也试着去弄弄,弄不懂再来请教 :biggrin:

    @
  31. 我只认得头像和最后的MM……

    @
  32. 我竟被挤出了,都是网卡惹的,太慢了,都不愿去访问博客了。。

    @
  33. 你的图片那里都有,万一挂了怎么处理?

    @
  34. header函数那个方法有啥用举个例子呗。。 :confused:

    @
  35. 貌似很多人都用了头像缓存啊,有空我也要折腾一下了

    @
  36. 图片很清晰,灰常好。

    @
  37. 来支持下,经过实践的都是好东西!

    @
  38. 还是willin的好用啊

    @
  39. 你是不是把 Wp_comments_list 写反了.. 里面只有 Wp_list_comments 函数啊~~~ :confused: :confused:

    @
  40. 作为参考研究了

    @
  41. 雁过无痕,人过留名,给博主添加人气,哈哈!

    @
  42. 看的我眼睛花鸟 额

    @
  43. 卜卜口の Google Chrome Windows #45

    ............
    header('location: http://www.evlos.org/1.jpg');
    这是直接跳转吧...

    @
  44. 前段时间还在到处找头像缓存插件呢。
    结果就找到了一个巨大的Gravatar2.
    不过后来把3.0.1版的plugrable.php修改了以后,头像加载速度就提升了,感觉还是不需要头像缓存了。

    @
  45. 缓存头像有什么好处。

    @
    • @KARONL , 部分用户访问gravatar官方图片服务器的时候很慢呢 ~
      所以这样子,把那些图片缓存到我们的站点文件里面 ~
      就可以防止那个问题拖慢我们的博客页面载入 ~ :mrgreen: :mrgreen:

      @

Leave a Reply


[ Ctrl + Enter ]