最近遇到 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外掛, 解決 WordPress 頭像無法顯示的問題

下載連結: 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) 轉載請註明出處,謝謝。