Come dire ai browser di aggiornare nuovamente i file CSS/JS quando i file vengono modificati in WordPress?
Nelle intestazioni di wordpress, probabilmente noterai che le risorse statiche CSS e JS sono referenziate in questo modo:
https://justyy.com/wp-content/themes/twentytwelve/style.css?ver=4.4.2
La stringa di query ?ver= viene utilizzata per dire ai browser di eseguire un aggiornamento forzato sulle risorse statiche quando la versione core di wordpress è cambiata perché alcuni browser potrebbero non essere in grado di ignorare i file di cache poiché l’URL non è cambiato.
A volte, voglio cambiare style.css nel tema figlio ma il browser sta ancora recuperando il file memorizzato nella cache poiché la versione di wordpress non è cambiata. e devo andare su CloudFlare per svuotare la cache. Una soluzione migliore è cambiare ?ver= in ?filetime= in modo che ogni volta che il file è stato modificato, l’URL cambia.
Puoi aggiungere quanto segue nel template child-theme functions.php per fare in modo che ciò accada.
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 );
Potresti usare il contenuto del file.