为WordPress评论加上输入邮箱即时显示Gravatar头像功能
来源:wordpress
作者:
2020-06-02
Gravatar是什么就不介绍了,不知道的自己Google去吧。新的主题加上了这个功能,实现起来不难,所以贴出来分享下,直接开始教程吧~
1. 将如下代码加到functions.php文件,在评论框里加上默认头像。
1 2 3 4 5 6 | 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设置下头像的位置,这里就固定在右上角。
1 2 | #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,在这个文件的最后追加如下代码:
1 2 3 4 5 | 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,添加如下代码:
1 2 3 | <?php } ?> |
简简单单的5步,即时显示Gravatar功能就算是完整的实现了,快动手试试吧~