香港独立IP空间
香港php空间
美国php空间
域名注册

大家也都知道缓存这个东西,可以很好的提高网站的速度,当访客在次访问网站的时候会直接调用缓存,wordpress网站缓存可以使用插件来实现,今天无忧主机(www.51php.com)小编给大家在介绍一个头像设置缓存的方法,开启评论的博客可以使用,特别是对那些使用Gravatar头像的用户,大大节省加载头像的时间,虽然一个头像的图片也不算大,但是如果每一页的评论显示多的情况下加载的时间也蛮多的。

首先使用FTP工具登录php虚拟主机在wp-content文件夹下建立一个avatar文件夹然后将下列的代码加入到当前使用主题的函数文件functions.php里。

function my_avatar( $email, $size = '32', $default = '', $alt = '') {

  $f = md5( strtolower( $email ) );

  $a = WP_CONTENT_URL . '/avatar/'. $f . $size . '.png';

  $e = WP_CONTENT_DIR . '/avatar/' . $f . $size . '.png';

  $d = WP_CONTENT_DIR . '/avatar/' . $f . '-d.png';

  if($default=='')

    $default = 'http://www.51php.com/default.jpg';

  $t = 2592000; // 缓存有效期30天, 这里单位:秒

  if ( !is_file($e) || (time() - filemtime($e)) > $t ) {

    if ( !is_file($d) || (time() - filemtime($e)) > $t ) {

      // 验证是否有头像

      $uri = 'http://www.gravatar.com/avatar/' . $f . '?d=404';

      $headers = @get_headers($uri);

      if (!preg_match("|200|", $headers[0])) {

        // 没有头像,则新建一个空白文件作为标记

        $handle = fopen($d, 'w');

        fclose($handle);

        $a = $default;

      }

      else {

        // 有头像且不存在则更新

        $r = get_option('avatar_rating');

        $g = 'http://www.gravatar.com/avatar/'. $f. '?s='. $size. '&r=' . $r;

        copy($g, $e);

      }

    }

    else {

      $a = $default;

    }

  }

  $avatar = "<img alt='{$alt}' src='{$a}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />";

  return apply_filters('my_avatar', $avatar, $email, $size, $default, $alt);

}

代码的第7行修改成默认的头像地址,使用Gravatar头像的需要把functions.php里的

get_avatar( $comment

修改成

my_avatar( $comment->comment_author_email

修改完成后把函数文件functions.php保存上传回空间就可以开启头像缓存了,这段代码的缓存时间是30天如果觉得久可以在代码的第十行进行修改。

纯Linux环境下高端免备案【香港独立IP地址】 php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名

本文地址:http://www.51php.com/wordpress/10488.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档