麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開發(fā) > PHP > 正文

詳解WordPress中的頭像緩存和代理中的緩存更新方法

2024-05-04 23:43:23
字體:
供稿:網(wǎng)友
這篇文章主要介紹了WordPress中的頭像緩存和代理中的緩存更新方法,分別針對(duì)Gravatar頭像的本地緩存以及代理中的css/js文件緩存更新,需要的朋友可以參考下
 

wordpress評(píng)論中的頭像是使用Gravatar的頭像服務(wù)(Gravatar官方注冊(cè)地址:http://en.gravatar.com),用戶的緩存頭像一般都是固定不變的,所以我們可以將頭像緩存到本地來提高我們網(wǎng)站的訪問速度。
我的wordpress avatar目錄的頭像緩存:

詳解WordPress中的頭像緩存和代理中的緩存更新方法

wordpress頭像緩存功能設(shè)置方法
首先是在根目錄下建立一個(gè)文件夾avatar,權(quán)限755。再在里面放一個(gè)默認(rèn)的頭像(default.jpg),沒頭像的童鞋就會(huì)用默認(rèn)的。代碼如下:

function my_avatar( $email, $size = '32', $default = '', $alt = '') { $f = md5( strtolower( $email ) ); $a = WP_CONTENT_URL . '/avatar/'. $f . $size . '.png'; $e = WP_CONTENT_DIR . '/avatar/' . $f . $size . '.png'; $d = WP_CONTENT_DIR . '/avatar/' . $f . '-d.png'; if($default=='')  $default = 'http://www.wpnoob.cn/avatar/default.jpg'; //尺寸需要改為你自己網(wǎng)站評(píng)論的默認(rèn)頭像  $t = 2592000; // 緩存有效期30天, 這里單位:秒 if ( !is_file($e) || (time() - filemtime($e)) > $t ) {  if ( !is_file($d) || (time() - filemtime($d)) > $t ) {   // 驗(yàn)證是否有頭像   $uri = 'http://www.gravatar.com/avatar/' . $f . '?d=404';   $headers = @get_headers($uri);   if (!preg_match("|200|", $headers[0])) {    // 沒有頭像,則新建一個(gè)空白文件作為標(biāo)記    $handle = fopen($d, 'w');    fclose($handle);    $a = $default;   }   else {    // 有頭像且不存在則更新    $r = get_option('avatar_rating');    $g = 'http://www.gravatar.com/avatar/'. $f. '?s='. $size. '&r=' . $r;    copy($g, $e);   }  }  else {   $a = $default;  } }  $avatar = "<img return apply_filters('my_avatar', $avatar, $email, $size, $default, $alt);}

再將以上代碼添加到你主題的functions.php文件。
將獲取頭像地址的 get_avatar 函數(shù)替換為 my_avatar 。有個(gè)例外,functions.php評(píng)論列表函數(shù)中:

get_avatar( $comment

需要改成:

my_avatar( $comment->comment_author_email

因?yàn)閙y_avatar函數(shù)只能通過Email來調(diào)取用戶頭像,所以以上情況,需要將第一個(gè)參數(shù)改成email地址。

get_avatar函數(shù)介紹:
用上面的方法簡(jiǎn)單方便啊。 不過還有一步是要注意的。得要確認(rèn)在調(diào)用頭像的地方都是用get_avatar函數(shù)來完成的。一般都是了,只有以前老的theme才不是。不是的話改過來就行。

如改為:

<?php echo get_avatar( $comment->comment_author_email, $size = '48', $default = get_bloginfo('wpurl') . '/avatar/default.jpg' ); ?>

 

代理(squid)中更新css/js文件緩存的方法
在wordpress添加css或者js文件,我們一般使用這四個(gè)函數(shù)來實(shí)現(xiàn):

  •  wp_enqueue_script()
  •  wp_enqueue_style()
  •  wp_register_script()
  •  wp_register_style()

函數(shù)中你可以定義css/js的版本號(hào),以便我們?cè)趯?duì)css/js文件更新時(shí)能夠清楚瀏覽器的緩存,默認(rèn)的版本號(hào)是wordpress的版本號(hào)。版本號(hào)會(huì)鏈接在css/js完整路徑的后面,一般在版本號(hào)變更后,css/js載入的樣式的完整URL也會(huì)變更,瀏覽器發(fā)現(xiàn)URL變更會(huì)重新請(qǐng)求css/js文件,這樣就能達(dá)到載入最新的css/js文件。

但是很多代理軟件(比如squid)并不支持”?“號(hào)形式的cache,我們?cè)谑褂梅聪虼韥韈ache我們的網(wǎng)站時(shí),特別在squid3.0以后,已經(jīng)開始不對(duì)帶”?”號(hào)的url進(jìn)行緩存了。所以我們?nèi)绻褂胹quid的緩存功能就必須去掉”?”,更新squid代理商的緩存只能通過修改文件名來實(shí)現(xiàn)。

以下我們將介紹在wordpress通過對(duì)版本號(hào)的控制來修改js/css文件名從而能夠在代理軟件中達(dá)到緩存的目的:
1、在我們的主題代碼functions.php文件中添加如下代碼:

/**  * Description: wordpress在代理(squid)中更新css/js文件緩存的方法 * Author:wordpress教程網(wǎng) * Author URI: http://www.wpnoob.cn/ */function ds_filename_based_cache_busting( $src ) { // 管理員的后臺(tái)css/js文件無(wú)需處理 if ( is_admin() ) return $src; //將版本號(hào)添加到文件名中已”.“號(hào)來區(qū)分 return preg_replace( '//.(js|css)/?ver=(.+)$/', '.$2.$1', $src );}add_filter( 'script_loader_src', 'ds_filename_based_cache_busting' );add_filter( 'style_loader_src', 'ds_filename_based_cache_busting' );

如果你使用的是apache服務(wù)器,在你的根目錄的.htaccess文件下添加:

<IfModule mod_rewrite.c>   RewriteEngine On   RewriteBase /    RewriteCond %{REQUEST_FILENAME} !-f   RewriteCond %{REQUEST_FILENAME} !-d   RewriteRule ^(.+)/.(.+)/.(js|css)$ $1.$3 [L]</IfModule>

 
如果你是nginx服務(wù)器配置如下:

location ~ ^(.+)/.(.+)/.(js|css)$ {  alias $1.$3;}?


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 毛片视频免费观看 | 国产精品久久久久久久久久久久久久久久 | 日韩激情 | 国产精品久久久久久久娇妻 | 龙的两根好大拔不出去h | www.99re1.com| 极色品影院 | 欧美羞羞视频 | 免费a级黄色片 | 午夜视频福利 | 麻豆视频国产在线观看 | 日本看片一区二区三区高清 | 国产精品欧美久久久久一区二区 | 中文字幕一区久久 | 国产精品欧美久久久久一区二区 | 成人福利视频导航 | 久久99国产伦子精品免费 | 色视频在线 | 黑人一级片视频 | 欧美日韩国产成人在线 | 国产精品99免费视频 | 欧美囗交 | 免费观看高清视频网站 | 黄色高清免费网站 | 中文字幕亚洲欧美 | 久久久久久久一区二区三区 | 国产成人小视频在线观看 | 在线成人毛片 | 精品国产91一区二区三区 | 男女羞羞视频在线观看免费 | 精品一区二区久久久久 | 韩国精品一区二区三区四区五区 | av免费在线网 | 日本教室三级在线看 | 一级国产航空美女毛片内谢 | 久久99国产伦子精品免费 | 国产午夜精品一区二区三区四区 | 日韩毛片毛片久久精品 | 免费a视频 | 日本大片在线播放 | 亚洲成人入口 |