
Gravatar是什么就不介绍了,不知道的自己Google去吧。新的主题加上了这个功能,实现起来不难,所以贴出来分享下,直接开始教程吧~
1. 将如下代码加到functions.php文件,在评论框里加上默认头像。
add_filter('comment_form_top', 'show_gravatar');
function show_gravatar() {
global $current_user;
get_currentuserinfo();
echo get_avatar( $current_user->user_email , 40 ); // 40是指头像的尺寸,第4步也一样
}
2. 用CSS设置下头像的位置,这里就固定在右上角。
#commentform { position: relative }
#commentform .avatar { position: absolute; top: 0; right: 20px }
3. 下载http://pajhome.org.uk/crypt/md5/2.2/md5-min.js,保存到主题文件夹里。
4. 重命名刚才的文件为gravatar.js,在这个文件的最后追加如下代码:
if (document.getElementById("email")) {
document.getElementById("email").onblur = function () {
if (/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(this.value)) document.getElementById("commentform").getElementsByTagName("img")[0].src = "http://www.gravatar.com/avatar/" + hex_md5(this.value) + "?d=mm&s=40";
};
};
如果找到email输入框则当光标焦点移出email输入框时,用正则测试输入的是否是email格式,如果是就将之前插入的图片地址改为新生成的地址。
5. 打开 footer.php,添加如下代码:
<?php if ( is_singular() && comments_open() ) { ?>//判断是不是单独的post页面且评论打开
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/gravatar.js"></script>
<?php } ?>
简简单单的5步,即时显示Gravatar功能就算是完整的实现了,快动手试试吧~
测试一下
测试失败
不错的教程
测试?
😆 我也是来测试效果的。
11你好
我是来试试效果的 🙂
我是来试试效果的
😥 看完评论没有一个人成功的吗?
看起来不错,可惜没有预览效果!!
你可能也喜欢
这个是插件吗?
无觅关联推荐:http://www.wumii.com/widget/relatedItems
我来试试看
😀 😀 gg不错啊
效果很好啊!
感激作者,真是个好人,解决了。。。
@小影 我错了,看到另一个貌似是转载你的,(http://ifonder.com/2013/01/07/immediately-display-gravatar-in-wordpress/)那我加上去,你再试试,方便留qq吗?
额,那篇文章作者竟然是我。。QQ在留言簿
@小影 我已经去掉代码了
那你和我说有什么用0 0 我又测不了
好吧,估计你也是转载的代码,不用了。。
伤心。。。转载我一般都会注明的 😐
博主,我加进去了,但是头像不会变
么看到头像
输入邮箱后,不会变成自己设置的头像,您可以测试一下
你是说你的网站么,我连头像都看不到。。
我写得很复杂~~
可以自动实现吗,那真不错,不过已经有头像的会变吗?
正在测试,不错的站,已加Google Reader
首页,显示一部分文字是如何设置的啊?
学习了!