什么是Gravatar頭像?
Gravatar頭像相當(dāng)于你的QQ頭像,代表的就是你在網(wǎng)絡(luò)的個(gè)人形象,所以各種社交程序都不能免除頭像的使用,WordPress也不例外。
眾所周知,WordPress的Gravatar頭像默認(rèn)會(huì)是 “http://1.gravatar.com/avatar/50ad321e53732e7b5a6593c3223fa9b0” 這樣的格式, 而國(guó)外服務(wù)器在天朝顯示速度極慢,有時(shí)候?qū)е乱粋€(gè)頁(yè)面就因?yàn)橐粋€(gè)小小的頭像,很久才打開完全。更有時(shí)候甚至不能打開,一個(gè)大紅叉叉,很是影響用戶體驗(yàn),以 及網(wǎng)站打開速度。
今天的教程就是,將WordPress的Gravatar頭像緩存到本地服務(wù)器,加速WordPress運(yùn)行,如果你也是國(guó)內(nèi)的服務(wù)器,這樣打開速度就會(huì)快很多。
緩存使用前提
確定自己的模板或者主題用的是 WordPress 2.7 以后才有的 wp_list_comments(),如果不清楚,你可以在你的comments.php或者functions.php中搜索試一試,還是不知道就直接跳過。
緩存Gravatar頭像 建立緩存目錄
在 wp-content 的同級(jí)目錄建立文件夾:avatar,文件夾權(quán)限為:755,如果不行文件夾權(quán)限就設(shè)置成777, 這是 gravatar頭像 緩存的路徑。
設(shè)置默認(rèn)頭像
制作一張默認(rèn)頭像,也可以直接在wordpress后臺(tái)》設(shè)置》討論 里copy一張,命名為"default.jpg" ,放在 avatar 文件夾里面。
添加緩存代碼
將下面的代碼復(fù)制到模板的 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; //設(shè)定14天, 單位:秒 if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當(dāng)頭像不存在或文件超過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');
更多信息請(qǐng)查看IT技術(shù)專欄