亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Wordpress > 正文

WordPress中Gravatar頭像緩存到本地及相關優化的技巧

2024-09-07 00:48:08
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了WordPress中Gravatar頭像緩存到本地及優化的技巧,需要的朋友可以參考下。

將Gravatar全球通用頭像緩存的目的在于加快網站的打開速度,因為Gravatar官網的服務器在國外,加上偉大的GFW,國內打開速度經常很慢。方法來自willin,不過貌似他的網站已經打不開了- -

將Gravatar全球通用頭像緩存到本地

緩存方法如下:

1.建立緩存目錄

在WordPress根目錄建立一個名為 avatar的文件夾,設置該文件夾的權限為 0755 (如果 0755 不行,就試一下 0777)。

2.設置默認頭像

準備一張大小適合(32*32即可)的默認頭像,命名為"default.jpg" ,放在 avatar 文件夾里面。

3.添加緩存代碼

將下面的代碼復制到主題的 functions.php 文件中即可

  1. function my_avatar($avatar) { 
  2. $tmp = strpos($avatar'http'); 
  3. $g = substr($avatar$tmpstrpos($avatar"'"$tmp) - $tmp); 
  4. $tmp = strpos($g'avatar/') + 7; 
  5. $f = substr($g$tmpstrpos($g"?"$tmp) - $tmp); 
  6. $w = get_bloginfo('wpurl'); 
  7. $e = ABSPATH .'avatar/'$f .'.jpg'
  8. $t = 1209600; //設定14天, 單位:秒 
  9. if ( !is_file($e) || (time() - filemtime($e)) > $t ) { //當頭像不存在或文件超過14天才更新 
  10. copy(htmlspecialchars_decode($g), $e); 
  11. else $avatar = strtr($avatararray($g => $w.'/avatar/'.$f.'.jpg')); 
  12. if (filesize($e) < 500) copy($w.'/avatar/default.jpg'$e); 
  13. return $avatar
  14. add_filter('get_avatar''my_avatar'); 

通過Email判斷用戶是否有Gravatar頭像

很多時候,我們還需要知道用戶有沒有設置Gravatar,比如如果用戶沒有設置Gravatar頭像則直接顯示本地的默認頭像,或者提醒沒有設置Gravatar的用戶設置Gravatar頭像,而不打擾已經設置過頭像的用戶。今天分享的代碼可以通過Email地址來驗證用戶是否有Gravatar頭像:

  1. function validate_gravatar($email) { 
  2.  $hash = md5(strtolower(trim($email))); 
  3.  $uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404'
  4.  $headers = @get_headers($uri); 
  5.  if (!preg_match("|200|"$headers[0])) { 
  6.  $has_valid_avatar = FALSE; 
  7.  } else { 
  8.  $has_valid_avatar = TRUE; 
  9.  } 
  10.  return $has_valid_avatar

Gravatar全球通用頭像緩存優化

優化后的代碼可以避免用戶沒有設置Gravatar頭像時,默認頭像重復緩存成多個文件造成資源浪費和重復連接的問題,優化后的代碼如下:

  1. function my_avatar( $email$size = '32'$default = ''$alt = '') { 
  2.  $f = md5( strtolower$email ) ); 
  3.  // 以下代碼將頭像緩存到wp-content目錄下 
  4.  $a = get_bloginfo('template_url') . '/avatar/'$f . $size . '.png'
  5.  $e = get_template_directory() . '/avatar/' . $f . $size . '.png'
  6.  $d = get_template_directory() . '/avatar/' . $f . '-d.png'
  7.  // 如果要將頭像緩存到當前主題目錄下,請將3-5行代碼改成: 
  8.  // $a = get_bloginfo('template_url') . '/avatar/'. $f . $size . '.png'; 
  9.  // $e = get_template_directory() . '/avatar/' . $f . $size . '.png'; 
  10.  // $d = get_template_directory() . '/avatar/' . $f . '-d.png'; 
  11.  
  12. if($default==''
  13.   $default = get_bloginfo('wpurl').'avatar/default.jpg'
  14.    
  15.  $t = 2592000; // 緩存有效期30天, 這里單位:秒 
  16.  if ( !is_file($e) || (time() - filemtime($e)) > $t ) { 
  17.   if ( !is_file($d) || (time() - filemtime($d)) > $t ) { 
  18.    // 驗證是否有頭像 
  19.    $uri = 'http://www.gravatar.com/avatar/' . $f . '?d=404'
  20.    $headers = @get_headers($uri); 
  21.    if (!preg_match("|200|"$headers[0])) { 
  22.     // 沒有頭像,則新建一個空白文件作為標記 
  23.     $handle = fopen($d'w'); 
  24.     fclose($handle); 
  25.     $a = $default
  26.    } 
  27.    else { 
  28.     // 有頭像且不存在則更新 
  29.     $r = get_option('avatar_rating'); 
  30.     $g = 'http://www.gravatar.com/avatar/'$f'?s='$size'&r=' . $r
  31.     copy($g$e); 
  32.    } 
  33.   } 
  34.   else { 
  35.    $a = $default
  36.   } 
  37.  } 
  38.    
  39.  $avatar = "<img alt='{$alt}' src='{$a}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"
  40.  return apply_filters('my_avatar'$avatar$email$size$default$alt); 

使用這個方法需要在主題所有文件中,將 get_avatar 函數替換為 my_avatar 。

而且如果是:

get_avatar( $comment,格式的話,還需要改成

my_avatar( $comment->comment_author_email

因為my_avatar函數只能通過Email來調取用戶頭像,所以以上情況,需要將第一個參數改成email地址。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情在线狂野欧美精品| 久久久久久久久国产| 久久视频在线播放| 国模私拍一区二区三区| 国产精品成人播放| 麻豆一区二区在线观看| 姬川优奈aav一区二区| 亚洲自拍高清视频网站| 夜夜躁日日躁狠狠久久88av| 日韩在线观看免费av| 韩剧1988在线观看免费完整版| 国产欧美va欧美va香蕉在| 国产欧美精品一区二区三区-老狼| 2021国产精品视频| 美女久久久久久久久久久| 国产精品免费一区二区三区都可以| 亚洲国模精品私拍| 国产剧情日韩欧美| 国产精品成人av在线| 亚洲v日韩v综合v精品v| 久久久久久噜噜噜久久久精品| 久久精品中文字幕一区| 国产成人精品亚洲精品| 国产精品一区二区久久久久| 色七七影院综合| 国产亚洲精品久久久久久| 成人久久一区二区| 91人成网站www| 欧美日韩第一页| 中文字幕日韩欧美在线| 欧美激情亚洲精品| 欧美一级电影免费在线观看| 中文精品99久久国产香蕉| 日韩欧美国产激情| 欧美在线观看网站| 4438全国亚洲精品在线观看视频| 亚洲精品v欧美精品v日韩精品| 欧美大片在线免费观看| 亚洲国产天堂网精品网站| 亚洲精品91美女久久久久久久| 国产精品高潮在线| 91经典在线视频| 亚洲网址你懂得| 欧美在线观看网址综合| 精品人伦一区二区三区蜜桃网站| 欧美日韩国产精品一区二区三区四区| 亚洲欧美激情在线视频| 欧美性xxxxxxx| 福利微拍一区二区| 精品偷拍一区二区三区在线看| 国内精品久久久久久中文字幕| 宅男66日本亚洲欧美视频| 日韩欧美国产一区二区| 久久人人爽人人爽爽久久| 欧美激情xxxxx| 久久亚洲精品国产亚洲老地址| 国产欧美在线观看| 久久精品夜夜夜夜夜久久| 亚洲白虎美女被爆操| 国产日韩欧美一二三区| 国产91精品视频在线观看| 欧美美女18p| 精品亚洲精品福利线在观看| 欧美成人午夜剧场免费观看| 国内精品久久久久| 国产日韩精品电影| 亚洲精品影视在线观看| 中文字幕无线精品亚洲乱码一区| 日韩欧美成人免费视频| 久热精品在线视频| 午夜精品一区二区三区视频免费看| 亚洲欧美自拍一区| 中文字幕精品—区二区| 欧美性极品少妇精品网站| 欧美在线欧美在线| 91精品久久久久久久久不口人| 亚洲综合精品一区二区| 成人免费高清完整版在线观看| 国产精品99久久久久久久久| 亚洲精品福利免费在线观看| 久久香蕉频线观| 日本精品在线视频| 欧美国产日本在线| 久久人人爽人人| 91国内精品久久| 色综合亚洲精品激情狠狠| 色婷婷av一区二区三区在线观看| 国产做受高潮69| 亚洲精品国产成人| 热久久这里只有精品| 欧美性极品xxxx做受| 国产亚洲综合久久| 久久久久久久久久国产精品| 日韩精品视频在线免费观看| 亚洲精品成人av| 亚洲精品www久久久| 国产精品久久综合av爱欲tv| 国产91免费观看| 亚洲视频在线播放| 国产精品电影在线观看| 国产日韩欧美成人| 欧洲亚洲免费视频| 欧美成人免费一级人片100| 欧美大片免费观看在线观看网站推荐| 日韩精品在线免费观看视频| 久久九九亚洲综合| 日韩精品中文在线观看| 黄色精品在线看| 国产精品第2页| 国产精品99免视看9| 日韩av电影手机在线观看| 亚洲第一视频网站| 国产精品精品一区二区三区午夜版| 91精品国产综合久久香蕉的用户体验| 日韩中文字幕网址| 日韩毛片在线观看| 成人激情在线观看| 亚洲精品国产精品乱码不99按摩| 国产美女久久精品香蕉69| 成人日韩在线电影| 久久国产加勒比精品无码| 亚洲全黄一级网站| 久久久久日韩精品久久久男男| 国产欧美 在线欧美| 色婷婷综合久久久久中文字幕1| 日韩免费不卡av| 日韩精品免费电影| 精品久久久久久| 亚洲国产一区二区三区四区| 久久视频在线播放| 成人欧美一区二区三区黑人孕妇| 国产精品露脸自拍| 美女999久久久精品视频| 日韩中文综合网| 国产精品久久久久久久电影| 亚洲影视中文字幕| 精品日本美女福利在线观看| 日本视频久久久| 亚洲欧美日韩精品久久| 日韩精品中文字幕视频在线| 亚洲福利视频专区| 91av成人在线| 亚洲欧美激情在线视频| 亚洲精品自拍视频| 成人福利视频网| 亚洲码在线观看| 国产精品视频一区国模私拍| 午夜免费久久久久| 日韩中文字幕网址| 国产综合视频在线观看| 久久人体大胆视频| 日韩精品亚洲元码| 一本一本久久a久久精品牛牛影视| 欧美一乱一性一交一视频| 国产91色在线|| 亚洲自拍中文字幕| 国产精品丝袜高跟| 亚洲激情视频在线播放| 国产人妖伪娘一区91| 久久久久久午夜| 久久成人一区二区| 亚洲免费人成在线视频观看| 亚洲一区二区三区xxx视频| 亚洲护士老师的毛茸茸最新章节|