WordPress头像缓存:WP Gravatar Mini Cache V1.0.4

近来博客联盟网站因备案临时关闭,我时间就多了,就利用这几天折腾一下WordPress,今天的新主题 LSZ Thinky Pro V3.1 准备启用头像缓存,以提升速度,向大家推荐WordPress头像缓存:WP Gravatar Mini Cache V1.0.4。迷你 Gravatar 头像缓存插件,可以将 Gravatar 头像缓存至本地,以加快加载速度,使其不受 Gravatar 服务器连接速度。

也可以直接把以下代码复制到functions.php的 之间。

if ( !function_exists( 'get_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) ) {
    // No avatar for pingbacks or trackbacks
    $allowed_comment_types = apply_filters( 'get_avatar_comment_types', array( 'comment' ) );
    if ( ! empty( $id_or_email->comment_type ) && ! in_array( $id_or_email->comment_type, (array) $allowed_comment_types ) )
      return false;
 
    if ( !empty($id_or_email->user_id) ) {
      $id = (int) $id_or_email->user_id;
      $user = get_userdata($id);
      if ( $user)
        $email = $user->user_email;
    } elseif ( !empty($id_or_email->comment_author_email) ) {
      $email = $id_or_email->comment_author_email;
    }
  } else {
    $email = $id_or_email;
  }
 
  if ( empty($default) ) {
    $avatar_default = get_option('avatar_default');
    if ( empty($avatar_default) )
      $default = 'mystery';
    else
      $default = $avatar_default;
  }
 
  if ( !empty($email) )
    $email_hash = md5( strtolower( $email ) );
 
  if ( is_ssl() ) {
    $host = 'https://secure.gravatar.com';
  } else {
    if ( !empty($email) )
      $host = sprintf( "http://%d.gravatar.com", ( hexdec( $email_hash{0} ) % 2 ) );
    else
      $host = 'http://0.gravatar.com';
  }
 
  if ( 'mystery' == $default )
    $default = "$host/avatar/ad516503a11cd5ca435acc9bb6523536?s={$size}"; // ad516503a11cd5ca435acc9bb6523536 == md5('unknown@gravatar.com')
  elseif ( 'blank' == $default )
    $default = includes_url('images/blank.gif');
  elseif ( !empty($email) && 'gravatar_default' == $default )
    $default = '';
  elseif ( 'gravatar_default' == $default )
    $default = "$host/avatar/s={$size}";
  elseif ( empty($email) )
    $default = "$host/avatar/?d=$default&s={$size}";
  elseif ( strpos($default, 'http://') === 0 )
    $default = add_query_arg( 's', $size, $default );
 
  if ( !empty($email) ) {
    $out = "$host/avatar/";
    $out .= $email_hash;
    $out .= '?s='.$size;
    $out .= '&d=' . urlencode( $default );
 
    $rating = get_option('avatar_rating');
    if ( !empty( $rating ) )
      $out .= "&r={$rating}";
 
//--- WP Gravatar Mini Cache v1.0.3 --- Start ------------------------------
 
  $ev_time = 1209600;
  if (!is_dir(ABSPATH.'ev-iava/')) { mkdir(ABSPATH.'ev-iava/'); }
  $ev_abs = ABSPATH.'ev-iava/'.$email_hash.'_'.$size.'.jpg';
  $ev_url = get_bloginfo('wpurl').'/ev-iava/'.$email_hash.'_'.$size.'.jpg';
  if (!is_file($ev_abs)||(time()-filemtime($ev_abs))>$ev_time){
    copy($out,$ev_abs);
  }
  $out = $ev_url;
 
//--- WP Gravatar Mini Cache v1.0.3 --- End --------------------------------
 
    $avatar = "{$safe_alt}";
  } else {
 
//--- WP Gravatar Mini Cache v1.0.3 --- Start ------------------------------
 
  $ev_abs = ABSPATH.'ev-iava/'.$size.'.jpg';
  $ev_url = get_bloginfo('wpurl').'/ev-iava/'.$size.'.jpg';
  if (!is_file($ev_abs)||(time()-filemtime($ev_abs))>$ev_time){
    copy($default,$ev_abs);
  }
  $default = $ev_url;
 
//--- WP Gravatar Mini Cache v1.0.3 --- End --------------------------------
 
    $avatar = "{$safe_alt}";
  }
 
  return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
}
endif;

跟踪WP官方最新更新:http://wordpress.org/extend/plugins/wp-gravatar-mini-cache/

[download id=”2″]

落花生

认准了方向,就要勇敢地走下去,十年磨一剑,我相信,只要坚持,一切都有可能。

相关日志

  1. 没有图片

    2012.12.13

    免费WordPress自适应主题:Lola

    刚给大家分享了一款免费的WordPress杂…

  2. 没有图片

    2012.12.12

    WordPress 3.5 正式版发布 李思章博客升级

    本来只打算更新一下WordPress插件技术…

  3. 没有图片

    2011.04.24

    WordPress团购主题插件Group Deals plugin

    现在非常流行团购,很多团购代码也应运而生,但…

  4. 没有图片

    2010.06.18

    WordPress 3.0正式版发布 菠萝筐第一时间升级

    WordPress 3.0正式版发布了,今天…

  5. 没有图片

    2012.12.19

    WordPress循环调用分类及分类下文章标题

    WordPress各种调用都已经很熟悉了,但…

  6. 没有图片

    2012.04.07

    MySQL新建/授权/修改/删除用户教程

    一般情况下,修改MySQL密码,授权,是需要…

评论

  1. Yeahlee 2011.05.02 7:51上午

    谢谢已用上那段代码,~~ 博客很不错 赞一个

  2. 平潭恒升传媒 2011.04.05 5:23下午

    给力支持一个

  3. 明月登楼 2011.04.03 4:42下午

    我也在用,不错,这个插件很棒的,特别是评论多了以后!

  4. Jessy 2011.04.03 3:20下午

    备案害死人啊

  5. 小米04 2011.04.03 11:59上午

    我说博客联盟怎么打不开了

  6. 倡萌 2011.04.03 7:43上午

    呵呵呵,这个好,反正主机流量还多,只要能加速,一切好说,呵呵

    • 李思章 2011.04.03 1:11下午

      快用上吧!感觉挺爽的,至少我感觉快多了。

  7. 侠客阁 2011.04.03 2:11上午

    希望能指出在那个地方改,谢谢,我不是很熟悉代码。

  8. 侠客阁 2011.04.03 2:03上午

    你的主题很不错呀,博主你能告诉我边栏的颜色怎么改的变浅一些呢,我找style.css这个文件改,就是改不好,能具体说明一些吗,边栏的颜色太蓝了,好像边栏就是主角一样。

    • 李思章 2011.04.03 3:22下午

      到style.css文件查找:.rightmenu .middle{width:245px; background-color:#80b5c5; }
      .rightmenu A{ background-color:#80b5c5;},把那个颜色改为你想要的颜色即可。

  9. EinCy 2011.04.02 11:39下午

    急需这个功能,评论多了总是被那头像拖了加载速度

    • 李思章 2011.04.03 1:12下午

      用吧,用上之后,写个使用报告。

  10. 学夫子 2011.04.02 10:23下午

    俺就是喜欢你的模板,不过,emlog啊,哎,说去说来都用不上

    • 李思章 2011.04.02 11:43下午

      嘿嘿,我就是喜欢折腾WP,才不去换别的程序,今晚再放出一个主题,不是我的原创,但代码优化了,增加了强大的功能。

  11. Louis Han 2011.04.02 9:18下午

    还是不要这样了 我的主机流量挺紧张的

  12. 韩国 2011.04.02 8:53下午

    解决一个文章需要怎么多代码吗?

  13. 许岑 2011.04.02 3:24下午

    那个bug解决了没

    • 李思章 2011.04.02 3:44下午

      我在使用中,应该是完美解决了吧!你测试一下。