Автоматический сброс кеша на стили (CSS), скрипты и картинки

Частая проблема в разработке это сброс кеша после изменение стилей, скриптов, картинок. Вы изменили что-то, у вас на компьютере это выглядит по новому, а кто-то другой заходит, а у него старые версии файлов, все новшества ломаются. Начинаются удивления, шок, паника 🙂

Существует множество подходов к решению этих проблем в WordPress.

Вчера наткнулся на один достаточно простой, элегантный и удобный способ автоматического сброса кеша при каждом изменении статических файлов, основанный на времени изменения файла с функцией filemtime().

Пример

add_action('init', function(){
  wp_register_style(
    $name = 'my-style',
    $url = plugins_url( 'assets/style.css', __FILE__ ),
    $dep = array(),
    $version = filemtime( plugin_dir_path( __FILE__ ) . 'assets/style.css' )
  );
});

Теперь при каждом изменении стиля, к ссылке на файл будет добавляться временная метка. Это решает проблемы с закешированными устаревшими файлами.

А этот метод будет тормозить?

Сомнительно. Вот тут есть эксперимент https://stackoverflow.com/questions/5850180/cost-of-file-modification-time-checks

Там проверили 1 000 000 файлов таким способом. Это заняло 0,02 секунды.

В реальных проектах файлов которые надо проверять таким образом в 1000 раз меньше. Птм можно сказать что потерь времени нет.

Фото аватара
Anatolii I

Веб разработчик, специализация на лучших мировых практиках: WordPress, WooCommerce, NextJS, Strapi, JAMStack ...

Основные типы проектов: CMS, eCommerce, SEO, LMS, ECM, BPM

Подробнее...

Статей: 108

Один комментарий

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *