Как отключить кешщирование стилей по дефолту?
В последнее время какая то шняга с wordpress
стили обновляются только при перезагрузке в браузере с ctrl + F5
а просто при перезагрузке страницы не меняются
какой то кеширование
уже не первый сайт разворачиваю на локальном сервере, и наблюдаю такое
хотя плагинами не забит, cms разворачиваю самые свежие
несколько как обычно стоит cf7, polylang, svg support, acf
на других системах (modx,dle) такого не наблюдается
Дополнительно:
если это проблема беспокоит только на локалке и мешает при разработке, то просто в конце подключения файлов указываешь им версию, и в php рандомное число при каждой перезагрузке
filemtime( get_theme_file_path( '/css/main.css' ) ) |
filemtime( get_theme_file_path( '/css/main.css' ) )
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Это не «кэширование WordPress по дефолту» в плохом смысле, а обычное браузерное кэширование CSS. Если файл подключён с одной и той же версией, браузер считает, что его можно брать из кэша. Ctrl+F5 принудительно скачивает заново, поэтому изменения появляются.
Правильное решение для разработки — подключать стили через
wp_enqueue_style()и передавать версию отfilemtime(). Тогда при изменении файла URL меняется, и браузер загрузит свежий CSS.add_action('wp_enqueue_scripts', function () { $path = get_stylesheet_directory() . '/assets/css/main.css'; $url = get_stylesheet_directory_uri() . '/assets/css/main.css'; wp_enqueue_style( 'theme-main', $url, [], file_exists($path) ? filemtime($path) : null ); });
Если подключаете главный
style.cssдочерней темы:add_action('wp_enqueue_scripts', function () { wp_enqueue_style( 'child-style', get_stylesheet_uri(), [], filemtime(get_stylesheet_directory() . '/style.css') ); });
На проде можно использовать версию темы вместо
filemtime(), но на локальной разработкеfilemtime()удобнее. Не нужно отключать кэш браузера для всех пользователей через агрессивные headers: это ухудшит скорость сайта.Также проверьте:
header.phpбез версии;Для разработки можно открыть DevTools → Network → Disable cache, но это только локальная помощь. В коде всё равно лучше версионировать CSS.