Gravatar是Globally Recognized Avatar的縮寫,是gravatar推出的一項服務,意為“全球通用頭像”(已被墻)。如果在Gravatar的服務器上放置了你自己的頭像,那么在 任何支持Gravatar的blog或者留言本上留言時,只要提供你與這個頭像關聯的email地址,就能夠顯示出你的Gravatar頭像來。
新的主題加上了這個功能,實現起來不難,所以貼出來分享下
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功能就完整的實現了。
新聞熱點
疑難解答