✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як повідомити браузерам повторно оновити файли CSS/JS, коли файли змінено в WordPress?

21

У заголовках wordpress ви, ймовірно, помітили, що на статичні ресурси CSS і JS посилаються так:

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

Рядок запиту ?ver= використовується, щоб повідомити браузерам виконати примусове оновлення статичних ресурсів, коли змінюється версія ядра wordpress, оскільки деякі браузери можуть не мати змоги ігнорувати файли кешу, оскільки URL-адреса не змінилася.

Іноді я хочу змінити style.css у дочірній темі, але браузер усе ще отримує кешований файл, оскільки версія WordPress не змінилася. і мені потрібно перейти до CloudFlare, щоб очистити кеш. Кращим рішенням є змінити ?ver= на ?filetime=, щоб щоразу, коли файл було змінено, URL-адреса змінювалася.

Ви можете додати наступне до шаблону дочірньої теми functions.php, щоб це сталося.

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 );

Ви можете використовувати вміст файлу.

Джерело запису: helloacm.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі