这篇没啥新意,就是给新来的朋友评论输入email时实时显示gravatar头像,以前有朋友问我,我总是推荐他们自己搜索去。这次我也写个简单点的教程吧。我知道@qiqiboy那里有一篇更强大的,不过他是js版本的。我这里提供一个简单的jQuery版本,与网上的一样,输入email即时显示你的gravatar头像。不同之处在于,我新加入了判断:只在游客第一次输入时载入相关的js(大约8kb)。节省资源,也不会拖慢速度。

1、需要在comment.php里面准备的访客头像位置:

<div id="real-avatar">
	<?php if(isset($_COOKIE['comment_author_email_'.COOKIEHASH])) : ?>
		<?php echo get_avatar($comment_author_email, 50);?>
	<?php else :?>
		<?php global $user_email;?><?php echo get_avatar($user_email, 50); ?>
	<?php endif;?>

</div>	

 

解释下,上面的代码会显示默认后台头像,如果是老访客,就显示cookie记录的邮箱对应的头像(直接读cookie避免有时出现张冠李戴的情况)

2、real-avatar原本需要的代码,包括一段jQuery代码和MD5插件:点击这里下载,关键代码其实只有一句:只是需要额外的一个转换MD5的js。

jQuery('#email').blur(function(){jQuery('#real-avatar .avatar').attr('src','http://www.gravatar.com/avatar.php?gravatar_id=' + hex_md5(jQuery('#email').val())) + '&size=32&d=identicon&r=G&default=http://www.gravatar.com/avatar/ad516503a11cd5ca435acc9bb6523536?s=32';jQuery('#Get_Gravatar').fadeOut().html('看看右边头像对不对?').fadeIn('slow');});
});

 

3、继续在comment.php里面修改,主要是看是否有评论者cookie,判断方法不用多说,我的是把访客欢迎结合起来:老朋友显示欢迎词和评论次数,新访客就加载上面那个实时gravatar的js,两不误。如下:

<?php if(isset($_COOKIE['comment_author_email_'.COOKIEHASH]) && isset($_COOKIE['comment_author_'.COOKIEHASH]))  : ?>
	<div id="commentwelcome">
	<?php printf(__('嘿! <strong>%1s</strong>, 欢迎回来! 评论指导否?'), $comment_author); ?><a id="edit_profile" title="重新填写资料" href="javascript:void(0);"><?php _e(' (编辑信息?)'); ?></a>
					</div>
<?php else:?>
	<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/realgravatar.js"></script>

<?php endif; ?>

PS:本来用js判断email文本域里面是否有值来动态加载js更方便,可惜我还不会ajax加载js,用php判断也不错。

PS2:好久没折腾了,最近太忙,估计模板也不会变动了。记录点生活也挺好的,我博客的定位就是伪技术+生活流,更新还是有的。本来也不抱什么希望有读者,意外发现Google Reader还有50+订阅(点击自己的feed,查看详情,可见自己GR订阅量),多谢各位支持啦~本文晚上写,早上定时发,看看情况。

  1. 倡萌 (2011.04.19 at 21:58) 41楼

    貌似现在你的主题没有使用这个功能?

    • winy (2011.04.20 at 14:41)

      @倡萌
      用到了的,这个只给第一次留言的朋友用上,如果你没有cookie那就能看到

  2. jixiangac (2011.04.21 at 09:37) 42楼

    效果不错哦~~

  3. Toe Shoes (2011.05.16 at 16:10) 43楼

    真好,以后自己也会设置了,谢谢

  4. Demon (2011.05.25 at 21:41) 44楼

    来看看折腾一下。

评论分页: 1 ... 4 5 6

发布评论

邮箱(必填)

换个背景