基本所有的博客網(wǎng)站都采用的Gravatar作為頭像存儲展示調(diào)用的,最近一段時間由于網(wǎng)絡(luò)延遲問題本身在海外主機中的網(wǎng)站速度就不是很快,尤其是到了網(wǎng)上抽風(fēng)更為明顯。同樣的,如果我們博客中使用的Gravatar頭像加載默認沒有處理的話,也會發(fā)現(xiàn)目前Gravatar官方網(wǎng)站基本打不開。如果解決頭像調(diào)用問題呢?
第一、如果我們還需要使用Gravatar頭像
- function get_ssl_avatar($avatar) {
- $avatar = preg_replace('/.*\/avatar\/(.*)\s=([\d]+)&.*/','<img src="https://secure.gravatar.com/avatar/$1s=$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
- return $avatar;
- }
- add_filter('get_avatar', 'get_ssl_avatar');
復(fù)制代碼在當(dāng)前wordpress主題中的FUNCTIONS.PHP頁面中加入上面的代碼,因為HTTP直接訪問不了,這里調(diào)整為HTTPS的路徑地址。 第二、使用本地頭像 - 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;
- if ( !is_file($e) || (time() - filemtime($e)) > $t ) {
- 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');
復(fù)制代碼同樣的,在FUNCTIONS.PHP文件中,加入上面的代碼,把頭像緩存本地,同樣的使用avatar文件夾作為根目錄,可以先放入一個default.jpg作為默認不存在的頭像展示圖片。 第三、使用第三方評論插件 使用第三方評論插件可以展示頭像的,目前不存在調(diào)用問題,目前使用較多的還是多說和暢言,前者用戶體驗還可以,就是服務(wù)器宕機不穩(wěn)定。后者基于搜狐提供的,界面一般,但服務(wù)器是比較穩(wěn)定的。
總之,一切影響網(wǎng)站速度的問題都需要解決。
|