修复Hcms主题的评论Gravatar实时显示

2012年11月16日05:12:24 4 4,640

用这个hcms主题已经有一段时间,感觉很好,没有想换的念头,及时想换,跟现在这个主题比一下,还是觉得hcms好,可以肯定这主题在我的修改和优化下,已经非常适合我了,真的不会喜新厌旧了!以往那种想找新鲜感的念头再也没有了。

不过前几天发现这款主题的评论实时gravatar显示异常,根本没有效果,于是自己动手修复了一下,效果请发表评论测试,以下是修复过程。

第一步:在主题的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步也一样
}

第二部:在主题的css文件里找到#real-avatar .avatar{float:right;padding:2px;border:1px solid #ddd;background: #fff;margin-right:20px;_margin-right:10px;}上面一行添加:

#real-avatar { position: relative }

第三步:把http://pajhome.org.uk/crypt/md5/2.2/md5-min.js文件下载到主题的js目录,并且重命名为:gss.js。

第四步:编辑gss.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("real-avatar").getElementsByTagName("img")[0].src = "http://www.gravatar.com/avatar/" + hex_md5(this.value) + "?d=mm&s=40";
};
};

第五步: 在主题的footer.php里添加如下代码:

<?php if ( is_singular() && comments_open() ) { ?> //判断是不是单独的post页面且评论打开
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/gss.js"></script>
<?php } ?>

完毕,现在再试试,效果出来了吧,现在只要在评论处输入email,就可以实时显示gravatar头像了,效果如下:

修复Hcms主题的评论Gravatar实时显示

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  2   博主  2

    • 分文博客 5
      Google Chrome 23 Windows XP

      额 好像鸟哥的主题本身就有。。。省事了

        • 郑永 Admin
          Firefox 16 Windows XP

          呵呵,其实也就简单几步。

          @分文博客

        • 分文博客 5
          Google Chrome 23 Windows XP

          最下角“//判断是不是单独的post页面且评论打开”亮了 怎么实现的 ?这样就让评论不是链接格式的了?

            • 郑永 Admin
              Firefox 16 Windows XP

              不知道你要问什么。。。

              @分文博客