最近遇到 WordPress 的頭像在國內一直顯示不出來,問題發生在 WordPress 3.0 以上,WordPress 的頭像服務 Gravatar 的部分伺服器在國內訪問困難, 原因是 Gravatar 所使用的 edgecast CDN 服務遇到了某些問題。
WordPress 3.0 透過讀取快取伺服器的方式, 減少了對 www.gravatar.com 的直接請求;
以往直接讀取官方伺服器。現在都被分流到 0.gravatar.com,1.gravatar.com 等快取伺服器上了,這次遇上 CDN 故障,所以就出現
了無法讀取頭像的問題。
解決辦法一:外掛
只需修改 Gavatar 頭像的訪問方式, 直接請求官方伺服器即可。 一些熱心網友已經找到問題, 並給出瞭解決方案。
而現在有更方便的解決辦法, 外掛。 Gravatar
Fixed 外掛透過函式覆蓋的方式,重新自定義 Gravatar 伺服器,直接訪問 www.gravatar.com 讀取頭像,以保證正常訪問。

下載連結: gravatar-fixed.zip
解決辦法二:程式碼
「0.gravatar.com」 這個網址無法訪問了,「www.gravatar.com」 這個主頁還可以正常訪問。那麼我們可以修改自己的 WordPress,讓它從 「www.gravatar.com」 獲取使用者的頭像解決這個問題:
找到 「wp-includes/pluggable.php」 檔案,找到程式碼:
if ( is_ssl()) {
$host = 『https://secure.gravatar.com』;
} else {
if (!empty($email))
$host = sprintf(http://%d.gravatar.com,(hexdec( $email_hash{0} )% 2 ));
else
$host = 'http://0.gravatar.com';
}
替換為:
if ( is_ssl())
$host = 'https://secure.gravatar.com';
else
$host = 'http://www.gravatar.com';
OK,現在頭像就可以訪問了!本人喜歡用程式碼,儘量無外掛。
來源:浮雲站 (www.fuyunz.com) 轉載請註明出處,謝謝。