n-wp.ru — блог о WordPress

Как принудительно обновлять файлы стилей в кэше

Хитрость, благодаря которой можно держать в кэше всегда актуальный, самый последний вариант оформления блога. Он помогает избежать ошибок при отображении блога в браузере, в результате которых после изменения показывается не новый, а старый вариант дизайна — способ вынуждает отображать самый последний вариант оформления.

Если вы используете кэширование, то встречались с ситуацией, когда в браузере отображается старый вид блога, даже если файл стилей style.css был обновлен. В этой ситуации помогает только сброс кэша, который позволит браузеру закачать новый вариант кэша с уже измененными файлами. Однако есть один способ, позволяющий отправлять в браузер всегда новый, измененный вариант файла стилей.

Способ основан на использовании специальной функции, добавляющей к имени файла счетчик, меняющийся после каждого обновления этого файла. Обычно подключение файла стилей выглядит примерно так:

Эту строчку чаще всего можно встретить в файле header.php. Есть такая функция — filemtime. Она возвращает время последнего изменения файла. Это время можно автоматически добавлять в ссылку на файл style.css. Если сделать так:

то функция вернет время последнего изменения файла style.css. Это и можно использовать для формирования всегда актуального варианта файла для кэширования. Используя эту функцию, получаем:

В результате адрес до файла style.css каждый раз при его редактировании автоматически изменяется с

на

Файл остается на том же месте, меняется только его содержимое, но плагин кэширования считает, что это новый файл, и обновляет кэш. Таким образом вы все время имеете в кэше самый свежий вариант style.css, что помогает избежать ошибок с отображением в браузере изменений в стилях блога. Этот же способ можно применять и для других подключаемых файлов, которые подвержены частым изменениям (например, файлах скриптов).

5 комментариев

  • Чето не нашел как добавить пост к себе в фейворитс. Раньше был флажок, сейчас в упор его не вижу…

    • Скрипт некорректно работает с последней версией jQuery, поэтому я отключил такую возможность. Скорее всего буду отказываться от него, поэтому советую сохранить список выбранных постов локально.

  • Хвала небесам! Спасибо огромное за совет, только он мне и помог. Перепробовала кучу способов, причем у меня не стоит плагин кэширования… Пробовала чистить кэш в браузуре, писала в мета не кэшировать, писала на php не кэшировать, даже переименовывала вручную файл стилей — ничего не помогало, показывает по старому, хоть ты его убей. Чуть с ума не сошла))