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="<?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='". $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代码一次,修改更麻烦.我就想一次性的搞定.

另外,由于功夫网的原因,后台头像也显示不了,有没办法,连后台也修改了呢??

查看 wordpress php gravatar的相关文章

转载本站原创文章请注明:文章转自 灰狼IT路,链接: https://itlu.org/articles/1434.html

已有 5 条评论

  1. WordPress真的很值得研究啊,大家都用

  2. 去月光博客看看,好像弄出来一个什么插件,专门针对wordpress3.0.1的头像问题的

  3. @博客之家
    是啊,很多值得研究的地方

    @freshways
    谢谢你,昨晚我已经搞定了

  4. 评论测试

  5. 您现在是缓存到本地的吗?

添加新评论