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%20bloginfo('template_url');%20?>/js/gravatar.js"></script>
<?php } ?>

簡簡單單的 5 步,即時顯示 Gravatar 功能就完整的實現了。