什麼是 Gravatar 頭像?
Gravatar 頭像相當於你的 QQ 頭像,代表的就是你在網路的個人形象,所以各種社交程式都不能免除頭像的使用,WordPress 也不例外。
眾所周知,WordPress 的 Gravatar 頭像預設會是 「http://1.gravatar.com/avatar/50ad321e53732e7b5a6593c23fa9b0」 這樣的格式, 而國外伺服器在天朝顯示速度極慢,有時候導致一個頁面就因為一個小小的頭像,很久才開啟完全。更有時候甚至不能開啟,一個大紅叉叉,很是影響使用者體驗,以及網站開啟速度。
今天的教程就是,將 WordPress 的 Gravatar 頭像快取到本地伺服器,加速 WordPress 執行,如果你也是國內的伺服器,這樣開啟速度就會快很多。
WordPress 教程:Gravatar 頭像快取到本地
快取使用前提
確定自己的模板或者主題用的是 WordPress 2.7 以後才有的 wp_list_comments(),如果不清楚,你可以在你的 comments.php 或者 functions.php 中搜尋試一試,還是不知道就直接跳過。
快取 Gravatar 頭像
建立快取目錄
在 wp-content 的同級目錄建立資料夾:avatar,資料夾許可權為:755,如果不行資料夾許可權就設定成 777, 這是 gravatar 頭像 快取的路徑。
設定預設頭像
製作一張預設頭像,也可以直接在 wordpress 後臺》 設定》 討論 裡 copy 一張, 命名為"default.jpg" ,放在 avatar 資料夾裡面。
新增快取程式碼
將下面的程式碼複製到模板的 functions.php 檔案中即可:
- function my_avatar($avatar) {
- $tmp = strpos($avatar, 'http');
- $g = substr($avatar, $tmp, strpos($avatar, "'", $tmp) - $tmp);
- $tmp = strpos($g, 'avatar/') + 7;
- $f = substr($g, $tmp, strpos($g, "?", $tmp) - $tmp);
- $w = get_bloginfo('wpurl');
- $e = ABSPATH .'avatar/'. $f .'.jpg';
- $t = 1209600; //設定 14 天, 單位: 秒
- if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當頭像不存在或檔案超過 14 天才更新
- copy(htmlspecialchars_decode($g), $e);
- } else $avatar = strtr($avatar, array($g => $w.'/avatar/'.$f.'.jpg'));
- if (filesize($e) < 500) copy($w.'/avatar/default.jpg', $e);
- return $avatar;
- }
- add_filter('get_avatar', 'my_avatar');
OK,收工。重新整理幾個網頁,看看 avatar 資料夾中是否有快取內容,如果沒有的話,說明快取失敗,該方法不適合你。具體程式碼來自 Willin,如何設定頭像請百度,類似教程很多,需要準備上牆工具。