✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak poinformować przeglądarki o ponownej aktualizacji plików CSS/JS, gdy pliki są zmieniane w WordPress?

56

W nagłówkach WordPress prawdopodobnie zauważyłeś, że statyczne zasoby CSS i JS są oznaczone w ten sposób:

https://justyy.com/wp-content/themes/twentytwelve/style.css?ver=4.4.2

Ciąg zapytania ?ver= służy do informowania przeglądarek o konieczności wymuszenia aktualizacji zasobów statycznych po zmianie wersji rdzenia WordPress, ponieważ niektóre przeglądarki mogą nie być w stanie zignorować plików pamięci podręcznej, ponieważ adres URL nie uległ zmianie.

Czasami chcę zmienić style.css w motywie potomnym, ale przeglądarka nadal pobiera plik z pamięci podręcznej, ponieważ wersja wordpress nie uległa zmianie. i muszę przejść do CloudFlare, aby wyczyścić pamięć podręczną. Lepszym rozwiązaniem jest zmiana ?ver= na ?filetime=, aby za każdym razem, gdy plik został zmodyfikowany, zmieniał się adres URL.

Aby tak się stało, możesz dodać następujące elementy do szablonu functions.php motywu potomnego.

function justyy_remove_cssjs_ver( $src) {
  $newsrc = $src;
  if( strpos( $newsrc, '?ver=')) {
    $newsrc = remove_query_arg( 'ver', $newsrc );
  }
  $rootdir = '/var/www'; // the path to your domain on the server
  $url = parse_url($newsrc, PHP_URL_PATH);
  $source = $rootdir .'/'. $url;
  if (is_file($source)) {
    $newsrc .= "?m=".filemtime($source);
    return $newsrc;
  }     
  return $src; // keep unchanged if file is not accessible.
}
add_filter( 'style_loader_src', 'justyy_remove_cssjs_ver', 10, 2 );
add_filter( 'script_loader_src', 'justyy_remove_cssjs_ver', 10, 2 );

Możesz użyć zawartości pliku.

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów