You are here: Home » All Categories » Play WordPress » 让willin简单头像缓存函数my_avatar()真正支持alt

让willin简单头像缓存函数my_avatar()真正支持alt

Sep 3rd, 2010 10:18 | Leave a comment?(164) Go to comments

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

2012.03.19 Update:最新的详细方法到此新文章《重新整理: willin简单头像缓存函数my_avatar()

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

文章题目不知怎么说,算了,应该能清楚鸟。

willin最新版那个简单头像缓存函数 my_avatar() 里面的 $alt 参数其实是没有作用的,即使你设置为 true ,返回的只是 1,所以不能达到显示头像的 alt 值。

昨天 a-shun 提起要我帮忙解决一下,我稍微修改了一下解决鸟,顺便解决文囧问题。

最近有点文囧,所以简单的折腾也贴出来了……

『诶~不知道说啥,拖些长度,因为下面是代码,前面太少内容会影响美观』

先看看原来的代码

(代码原文:http://kan.willin.org/?p=1277

/* Mini Gavatar Cache by Willin Kan. */
 function my_avatar($email,$size='42',$default='',$alt=false){
     $alt=(false===$alt)?'' : esc_attr($alt);
     $f=md5(strtolower($email));
     $a= get_bloginfo('wpurl').'/avatar/'.$f.'.jpg';
     $e= ABSPATH.'avatar/'.$f.'.jpg';
     $t=1209600;//設定14天, 單位:秒
     if(empty($default))$default= get_bloginfo('wpurl').'/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);
     }
     if(filesize($e)<500) copy($default,$e);
     $avatar="<img title='{$alt}' alt='{$alt}' src='{$a}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
     return apply_filters('my_avatar',$avatar,$email,$size,$default,$alt);
 }>

具体怎么折腾willin的头像缓存我就不罗嗦了,去willin那里吧(貌似这几天博客挂了),等好了再CP过来加在这里吧,方便大家

附willin最新版简单头像缓存函数折腾方法:(待续,这里留空...)

那么继续我刚才说的,让函数真正支持头像的 alt 显示,代码变为如下

/* Mini Gavatar Cache by Willin Kan. */
 function my_avatar($email,$size='42',$default='',$alt=''){
     // $alt = (false === $alt) ? '' : esc_attr( $alt );
     $alt=(''==$alt)?'' : $alt;
     $f=md5(strtolower($email));
     $a= get_bloginfo('wpurl').'/avatar/'.$f.'.jpg';
     $e= ABSPATH.'avatar/'.$f.'.jpg'; $t=1209600;//設定14天, 單位:秒
     if(empty($default)) $default= get_bloginfo('wpurl').'/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);
     }
     if(filesize($e)<500) copy($default,$e);
     $avatar="<img title='{$alt}' alt='{$alt}' src='{$a}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";
     return apply_filters('my_avatar',$avatar,$email,$size,$default,$alt);
 }

很简单,主要是用法稍微不同

my_avatar( $email, $size = '40', $default = '', $alt = '' )

$email: 评论者email
$size: 头像图片大小
$default: 默认头像位置,如果你不设置,那么在 avatar 缓存目录放一个 default.jpg 作为默认头像。
$alt: 评论者昵称

举例

1. 文章评论页面调用一般是这样:

<?php echo my_avatar($comment->comment_author_email,$size='40',$default='',$comment->comment_author);?>

不需要定义$default和$alt,下面这样就可以了

<?php echo my_avatar($comment->comment_author_email,$size='40');?>

2. 最新评论代码里(《带头像显示的最新评论代码 - 蛋疼篇》)是这样的:

my_avatar($rc_comm->comment_author_email,$size='40',$default='',$rc_comm->comment_author)

其实最重要就是参数啦,喜欢折腾的朋友折腾吧。

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/archives/25296

Filed under

Play WordPress

| Tags:

, ,

Related Posts

Most Popular

164 Comments.

⊕Leave a comment?
  1. 书香阁 书香阁 Internet Explorer 7.0Windows XP

    很好很强大 :mrgreen:

    41楼
  2. 微奇生活 微奇生活 TheWorld BrowserWindows XP

    记号一下

    42楼
  3. 绍兴seo 绍兴seo 360Safe ExplorerWindows XP

    太深奥了。看不懂。只能支持了。

    43楼
  4. 快乐的村长 快乐的村长 Google Chrome 5.0.375.127Windows 7

    原创技术贴,必须得顶

    44楼
  5. 3q博客 3q博客 Firefox 3.6.8Windows 7

    还没有去折腾,先收藏了。

    45楼
  6. 园子 园子 Firefox 3.6.8Windows XP

    支持ALT的话更人性化了
    哈哈。

    46楼
  7. 郑永 郑永 Firefox 3.0.8Windows XP

    我现在超级怕空间不够,因为只剩下1M了,晕哦,缓存怕怕。

    47楼
  8. 书法作品 书法作品 Firefox 3.6.8Windows XP

    继续学习

    48楼
  9. mice mice Internet Explorer 8.0Windows XP

    :twisted: 看完评论 看完文章走人- -...

    49楼
  10. 亿品元素 亿品元素 TheWorld BrowserWindows XP

    终于折腾成功

    50楼
  11. 闲云野鹤 闲云野鹤 Firefox 3.6.8Windows XP

    我用的是这个挂法(代码我省略了)add_filter('get_avatar', 'my_avatar');,请问怎么折腾呀?

    51楼
  12. 山水画 山水画 Internet Explorer 6.0Windows XP

    支持支持

    52楼
  13. 软件盒子 软件盒子 Google Chrome 6.0.472.53Windows 7

    真想用心看看

    53楼
  14. joyla joyla Google Chrome 5.0.375.127Windows XP

    :mrgreen: :mrgreen: :mrgreen: 这个我纯支持!呵呵

    54楼
  15. 小邪 小邪 Google Chrome 7.0.513.0Windows XP

    函数是完美了,唯一就是单字母的变量名太有型,让人蛋疼 ~ :shock: :shock:

    55楼
  16. 任鸟飞 任鸟飞 Google Chrome 5.0.335.1Windows Vista

    对SEO比较重视的人来说,这个函数的作用还是很大的。

    56楼
  17. 瓜瓜 瓜瓜 Google Chrome 6.0.401.1Windows 7

    前段时间已经用上了,不错不错,呵呵。

    57楼
  18. FORECE FORECE Firefox 3.6.8Windows 7

    算了,我不折腾了。。。

    58楼
  19. 阅网博客 阅网博客 Internet Explorer 7.0Windows XP

    貌似好复杂,其实我在zblog加avatar就一句话。 :mrgreen:

    59楼
  20. Lazyyyyyy Lazyyyyyy Maxthon 2.0Windows XP

    发现Z叔叔的题目都好像报纸的标题,很一目了然~

    60楼

Leave a Reply