加入收藏 | 设为首页 | 网站地图 | RSS订阅
阅读内容

WordPress评论输入邮箱即时显示Gravatar头像

日期:2012-1-8     来源:不详     作者:5i93.com收集

    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功能就算是完整的实现了,快动手试试吧~

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口

相关新闻
    本文评论
    推荐广告
    关于本站 | 版权声明 | 免责声明 | 联系我们 | 广告服务 | 加入收藏 | 网站地图 | 网站搜索 | RSS订阅