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. 没有图片

    2009.10.15

    Discuz! 7.1 正式版于10月16日发布

    今天Discuz论坛上官方消息称,万众期待D…

  2. 没有图片

    2009.07.09

    国内PHP开源建站程序排序与分析

    在国外优秀开源PHP建站系统对比分析一文我向…

  3. 没有图片

    2012.11.26

    一款不错的免费WordPress主题Fantasia

    今天推荐的这款WordPress主题是免费的…

  4. 没有图片

    2011.03.22

    12款免费的优秀高质量 HTML5+CSS3 模板

    HTML5是下一代主要的HTML编码规范,H…

  5. 没有图片

    2011.04.21

    WordPress相册插件:PhotoSmash Galleries

    WordPress相册插件 PhotoSma…

  6. 没有图片

    2013.04.08

    WordPress主题:x2013 Pro V2.0 发布

    经过近一个月的精心的准备,WordPress…

评论

  1. 侠客阁 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;},把那个颜色改为你想要的颜色即可。

  2. EinCy 2011.04.02 11:39下午

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

    • 李思章 2011.04.03 1:12下午

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

  3. 学夫子 2011.04.02 10:23下午

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

    • 李思章 2011.04.02 11:43下午

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