WordPress 记录评论者 gravatar 头像

我已经数不清有多少朋友来问过我这个问题了,就是在 WordPress 评论框上的“欢迎 ** 归来”字样,以及评论者的头像,真是很不好意思,拖到现在才写这教程,不过其实关于“欢迎 ** 归来”的字样在之前的《记录并隐藏 WordPress 评论者信息》中已经详细地介绍过,因为本文介绍的记录评论者头像与此文相关,这里就不再解释重复和其中的 JQuery 部分了,我只重点介绍下关于记录并显示当然评论者头像的方法吧。也建议在看本文之前可以先了解一下《记录并隐藏 WordPress 评论者信息》中的原理,这样可以帮助你理解本文。

效果如上图,之前留过言的朋友也可以看我的评论框。代码相当简单,在 WordPress 主题中的 comments.php 中的昵称、邮箱、网址输入框上方添加如下代码:

<?php if ( $comment_author != "" ) : ?>
    <?php echo get_avatar($comment_author_email,'32'); ?>
    <div id="welcome">
        <?php printf(__('欢迎 <strong>%s</strong> 归来! '), $comment_author) ?>
    </div>
<?php endif; ?>

比较简单的一个判断,应该还是很好理解的,关键就是 WordPress 眼花缭乱的函数。

烦是涉及到 WordPress 头像的我都要扩展一下,那就是用头像缓存时的代码,关于 WordPress 的头像缓存可以先看看这篇:《Wordpress 2.7+主题 gravatar 头像缓存》,启用 WordPress 头像缓存后,你则可以试试以下代码,同样是在  Wordpress 主题中的 comments.php 中的昵称、邮箱、网址输入框上方添加如下代码:

<?php if ( $comment_author != "" ) : ?>
    <img width='32' height='32' class='avatar' src='<?php echo '/gravatar/' . md5(strtolower($comment_author_email)) . '.jpg' ?>' alt='' />
    <div id="welcome">
    <?php printf(__('欢迎 <strong>%s</strong> 归来! '), $comment_author) ?>
    </div>
<?php endif; ?>

可以看到两者唯一的区别就在于头像的代码部分,其中 gravatar 头像缓存图片存放的路径就根据各自的实际情况修改啦。个人感觉是个不错的用户体验,大家可以试试。

  1. 请教个问题~~就是如果是用AJAX加载的弹出层评论部分,就无法获取评论者的COOKIE了,那么$comment_author;就调用不出内容来,该怎么处理?怎么能让这个COOKIE能全局化??

  2. Pingback: Ben is Me » OK, Computer! 终于完成了!

  3. 用willin大师的mini缓存头像没有实现这个图片(默认一直调用我自己的头像,非评论者,非默认),不过用了你下边的图片调用代码,好了。郁闷中,不知道为啥,呵呵...

  4. Pingback: 新主题Green living上线测试. | 阿邙’S Blog

  5. 诶,WP有人就是不一样啊,咱PJ一直为这个问题揪心,找人又找不到,只能靠自己,孤军奋战的滋味不好受啊!

  6. 不知道以后这些技术文会不会收费……这么一点代码就能把犯罪记录归档,好高深的感觉 :?: