24 Haziran 2013 Pazartesi

WordPress stilleri ve komut için dosya adı önbellek avı

WordPress özel CSS stilleri ve komut gömmek için kullanmalısınız Wp_enqueue_script () , wp_enqueue_style () ,wp_register_script () ve / veya wp_register_style () fonksiyonları. Bu işlevlerin her biri bir sürümünü tanımlamanızı sağlar. Varsayılan olarak WordPress versiyonu. Sürümü tanımlayıcı bir sorgu dizesi olarak komut dosyası için URL olacaktır.
Sürümü tanımlayıcı URL sona için kullanılır. Tarayıcı yeni bir kaynak olarak yeni URL algılar yana, bunun yerine önbelleğe alınan kaynağın yeni kullanacaktır.
Ne yazık ki tüm uç noktaları sorgu dizesi saygı. Gönderen Google Geliştiriciler :
En yakınlık, özellikle sürüm 3.0 ile Kalamar kadar, bir ile kaynak önbelleğe yok "?" kendi URL bile Önbellek kontrol: Kamu başlığı yanıt olarak mevcuttur. Bu kaynaklar için proxy önbelleğe almayı etkinleştirmek için, statik kaynaklara referanslar sorgu dizeleri kaldırmak ve bunun yerine dosya adları kendi içine parametreleri kodlamak .
Yani hedef dosya sisteminde yeniden adlandırma kaynak olmadan dosya içine sürümü tanımlayıcı kodlamak için. Aşağıdaki eklenti içeri giriyor
  • <? Php
  • / **
  • * Plugin Adı: Dosya tabanlı önbellek avı
  • * Sürüm: 0.2
  • * Açıklama: WordPress komut / stilleri için Dosya tabanlı önbellek avı.
  • * Yazar: Dominik Schilling
  • * Yazar URI: http://wphelper.de/
  • * Plugin URI: http://wpgrafie.de/880/
  • *
  • * Lisans: GPLv2 veya daha
  • * Lisans URI: http://www.gnu.org/licenses/gpl-2.0.html
  • *
  • *
  • . * Bu satırları ile htaccess dosyası uzatın:
  • *
  • * <IfModule mod_rewrite.c >
  • * RewriteEngine On
  • * RewriteBase /
  • *
  • * RewriteCond% {REQUEST_FILENAME}!-F
  • * RewriteCond% {REQUEST_FILENAME}!-D
  • * RewriteRule ^ \ \ (+.). (+.).. (Js | css) $ $ 1 $ 3 [L]
  • * </ IfModule>
  • * /
  • / **
  • * Kaynağının `ver` sorgu dizesi kaldırır ve içine yerleştirir
  • * Dosya adı. Yönetici komut / stil ve kaynakları değişmez
  • * `Ver` arg fazla olan.
  • *
  • * @ param string $ src orijinal kaynağı
  • * @ return dize
  • * /
  • fonksiyonu ds_filename_based_cache_busting ( $ src ) {
  •     / Admin / komut dokunmayın
  •     eğer ( Yönetici onayýndan sonra yayýnlanacaktýr () )
  •         dönmek src $ ;
  •     
  •     dönmek preg_replace (
  •         '/ \ (Js | css).? (. +) \ Ver = $ /' ,
  •         '. 2 dolar. $ 1' ,
  •         Src $
  •     );
  • }
  • add_filter ( 'script_loader_src' , 'ds_filename_based_cache_busting' );
  • add_filter ( 'style_loader_src' , 'ds_filename_based_cache_busting' );
Sen yakalayabilir GitHub eklentisi . Bundan sonra bilgilendirme kısmı gelen çizgileri ile. Htaccess dosyası genişletmek zorunda.
Eğer nginx kullanıyorsanız, bu satırları kullanabilirsiniz:
konum ~ ^ \ \ (js | css) (+.). (+.). $ {
    takma $ 1 $ 3.;
}

Hiç yorum yok:

Yorum Gönder