Wordpress头像gravatar缓存的遗留问题
最近,由于功夫网发威,gravatar头像,特别是0.gravatar.com这个服务器,都挂掉了.实在是杯具.我使用的是将gravatar头像缓存在本地服务器上,也就是博客的空间上.效果还是蛮好滴.可是,就是因为这样子,给我带来了一点小问题.问题就是这样子的.
我是使用代码来缓存头像的,代码也是Copy别人的,效果不错,但是呢,最近看到别人可以写进Function里面来调用,我不会写,很是纠结.周六早上测试了一阵子,还是搞不定.现在向大家求助.希望各位多多帮忙,不尽感激!
不怕说给大家知道,但是请小声偷笑,别影响到别人.我用的代码,哪里需要用到就写一次,很弱智是吧.没办法,俺不懂...
边栏最新评论用到一次,写了一个,文章评论用到一次,又写了一个.囧.我是想,能不能改进一下,写一次进Function就OK拉,修改也方便.不然浪费了很多表情.
我的代码是:
<div class="pic">
<?//php if (function_exists('get_avatar') && get_option('show_avatars')) { echo get_avatar($comment, 32); } ?>
<?php
$f = md5(strtolower($comment->comment_author_email));
$a = get_bloginfo('wpurl') .'/gravatar/'.$f.'.jpg';
$e = ABSPATH . 'gravatar/'.$f.'.jpg';
$t = 1209600;
$d = get_bloginfo('wpurl'). '/gravatar/default-gravatar.jpg';
if ( !is_file($e) || (time() - filemtime($e)) > $t ){
$r = get_option('avatar_rating');
$g = 'http://www.gravatar.com/avatar/'.$f.'?s=32&d='.$d.'&r='.$r;
copy($g, $e);
}
if (filesize($e) < 500) {copy($d, $e);}
?>
<img src='/index/thumb.png' data-original="<?php echo $a ?>" class="avatar avatar-32 photo" alt="" width="32" height="32" />
</div>
上面是评论的头像,我已经修改了SRC的显示方式了.不是主题之前的显示方式.
另外,最新评论的显示头像方式,代码如下:
<?php
global $wpdb;
$sql = "****";
$comments = $wpdb->get_results($sql);
foreach ($comments as $comment) {
//$a= get_bloginfo('wpurl') .'/gravatar/cache/avatar/'.md5(strtolower(get_comment_author_email('comment_author_email')));
$f = md5(strtolower($comment->comment_author_email));
$a = get_bloginfo('wpurl') .'/gravatar/'.$f.'.jpg';
$e = ABSPATH . 'gravatar/'.$f.'.jpg';
$t = 1209600;
$d = get_bloginfo('wpurl'). '/gravatar/default-gravatar.jpg';
if ( !is_file($e) || (time() - filemtime($e)) > $t ){
$r = get_option('avatar_rating');
$g = 'http://www.gravatar.com/avatar/'.$f.'?s=32&d='.$d.'&r='.$r;
copy($g, $e);
}
if (filesize($e) < 500) {copy($d, $e);}
$output .= "\n<li><img src='/index/thumb.png' data-original='". $a ."' alt='' title='".$comment->comment_author."' class='avatar' /> <a href=\"" . get_permalink($comment->ID) ."#comment-" . $comment->comment_ID . "\" title=\"on " .$comment->post_title . "\">" . cut_str(strip_tags($comment->com_excerpt),18)."</a></li>";
}
$output = convert_smilies($output);
echo $output;
?>
每用一次,都要Copy代码一次,修改更麻烦.我就想一次性的搞定.
另外,由于功夫网的原因,后台头像也显示不了,有没办法,连后台也修改了呢??
赏
转载本站原创文章请注明:文章转自 挨踢路,链接: https://itlu.net/articles/1434.html
WordPress真的很值得研究啊,大家都用
去月光博客看看,好像弄出来一个什么插件,专门针对wordpress3.0.1的头像问题的
@博客之家
是啊,很多值得研究的地方
@freshways
谢谢你,昨晚我已经搞定了
评论测试
您现在是缓存到本地的吗?