如何讓 WordPress 支援 gravatar 跨站大頭貼?

21-20-39 前面介紹了如何註冊、使用gravatar跨站大頭貼的服務來留言,不過目前似乎不是每個WordPress網站都可以直接使用gravatar來讓未註冊的訪客顯示大頭貼。以下簡單介紹如何讓你的WordPress可以支援gravatar。

主要分兩大步驟,首先你的WordPress必須已經升級成2.5以上版本才支援,2.5以前的版本並沒有內建此功能。確認你的版本是最新版的2.5.x以上版本後,請到後台啟動Gravatars的支援,然後再去修改你的佈景主題,加入gravatar專用的代碼即可。

如果你不知道什麼是gravatar的話,,

請參考「gravatar「跨站台」大頭貼服務,填Email自動顯示大頭貼!」。

 

一、啟動Gravatars大頭照功能

第1步  登入你的WordPress網站後台,依序按下〔設定〕→【討論】。

gravatar-WP-01

 

第2步  在討論頁面的最下方點選「顯示大頭照」,再按下〔儲存變更〕按鈕即可。其中的「最高評分」可以讓我們選擇是否顯示限制級的圖片,可以依照自己的喜好設定,如果點「G-普級」那其他使用者所上傳的限制級圖片就不會被顯示。(理想狀態下啦...)

gravatar-WP-02

 

 

二、修改comments.php,加入gravatar大頭貼程式碼

除了到WordPress後台開啟gravatar大頭貼的功能之外,還必須在佈景主題中安插大頭貼程式碼,才能順利顯示網友所設定的大頭貼。在WordPerss預設的新版Theme佈景主題中,都已經有內建了此段程式碼,不過如果你的網站是從舊版升級上來的,佈景主題也是延用舊版本的話,那得另外手動將這段程式碼加上去,一樣可以用。

這段程式一般會是加在「\wp-content\themes\佈景主題名稱\comments.php」這檔案裡面,這檔案主要就是控制部落格留言、迴響功能頁面的配置。 如下圖,請在適當位置加上:

<?php echo get_avatar( $comment, 32 ); ?>

20-51-51

上面程式碼其中最右邊的數字「32」指的是大頭貼的寬度,如果你希望圖示大一點,可以輸入50、64...等等,最多不超過80。位置大約會是在<li>跟</li>的中間你喜歡的位置,或<?php comment_text() ?>的附近。  

 

三、修改gravatar大頭貼的CSS樣式

如果你想修改大頭貼的CSS樣式,可以編輯「\wp-content\themes\佈景主題名稱\style.css」這個檔案,直接在最下面加上:

avatar {
    float: right;
    border: 1px solid #eee;
    padding: 2px;
    background: #fff;
    }

以上的控制碼是WordPerss預設佈景主題中的CSS樣式,你可以依照自己的喜好任意修改、調整。

gravatar這東西用來讓訪客顯示他自己的大頭貼是很方便沒錯,只是其他阿貓阿狗只要知道你的Email就可以冒用你的gravatar大頭貼來留言,跟冒用一般暱稱亂講話一樣。解決方法可能就是得限制有註冊的使用者才能留言,或者每個人都特別去申請一個沒有人知道的專用Email帳號,不過這又很麻煩... 。所以,一堆服務還是有待好好的整合囉,東一塊、西一塊的,大家也不容易用得順手。不過如果只是想玩玩,那也是蠻有趣的。

延伸閱讀:gravatar「跨站台」大頭貼服務,填Email自動顯示大頭貼!

最後更新:09-13, 2013 上午 9:32

TAG:
kjbrian

Author: 不來恩

briiancom@gmail.com

相關資訊

訪客留言:

22 Replies to “如何讓 WordPress 支援 gravatar 跨站大頭貼?”

  1. 我的WP是3.0的,好像直接在後台啟用就可以支援Gravatar了耶~
    不過沒有可以條avatar大小的選像…
    感謝你的教學~

  2. 我的wp不知道哪邊出了問題
    照著教學設定,輸入信箱後,
    只會跑出後台預設的大頭貼

  3. 老兄, 請教一下, 我只想將comment這一部份的頭像, 將它加大
    因為我現在用
    .avatar {
    border: 1px solid #d3d3d3;
    background-color: #ffffff;
    }

    頭像顯示很小…
    但我不想將整個blog都變成這麼大…
    只想改一改頭像那部份
    請問你能提供一下有沒有別的修改方法?

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *