什麼是 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,如何設置頭像請百度,類似教程很多,需要準備上牆工具。