Автоматическое обновление таблицы стилей WordPress

11 окт. 2017 г., 00:54:56
Просмотры: 19.7K
Голосов: 5

Я использую компьютер Mac и не могу понять, как обновить мой сайт при внесении изменений в файл таблицы стилей WordPress. Я пробовал Cmd+R для принудительной перезагрузки, пытался очистить кэш, но ничего не помогает – старая версия по-прежнему загружается.

Раньше я использовал компьютер на Windows, и каждый раз, когда я вносил изменения в файл style.css, я просто нажимал ctrl + F5, и страница сразу же принудительно обновлялась.

Кто-нибудь знает другие способы, кроме Cmd+R или очистки кэша, для автоматического обновления таблицы стилей?

2
Комментарии

вы можете установить версию с помощью wp_enqueue_style, затем каждый раз, когда вы что-то меняете, изменяйте номер версии, и это вызовет принудительную перезагрузку, так как URL будет заканчиваться на "...css?ver=12" https://developer.wordpress.org/reference/functions/wp_enqueue_style/

mmm mmm
11 окт. 2017 г. 00:58:26

ммм, у меня была эта проблема почти 20 дней. Я три раза обращался в поддержку хостинга. Ваше решение могло бы сэкономить мне часы разочарования, если бы я нашел его раньше!

Nora McDougall-Collins Nora McDougall-Collins
5 мар. 2021 г. 05:22:17
Все ответы на вопрос 3
2

"Быстрое" решение: Щелкните правой кнопкой мыши → Просмотреть исходный код страницы (Ctrl+U), найдите .css файл, который вы изменили, откройте его в новой вкладке и обновите (вы должны увидеть изменения в том месте, где вы их внесли).

ТОЛЬКО в режиме разработки добавьте php функцию time() вместо номера версии

wp_enqueue_style( $handle, $src, array(), time() , 'all' );

Удалите кеш, если вы используете плагин кеширования.

9 апр. 2018 г. 13:28:52
Комментарии

Я тоже люблю использовать трюк с time(). Особенно полезно при тестировании на мобильных устройствах, потому что телефоны любят кэшировать всё и менее склонны к обновлению.

MarkPraschan MarkPraschan
9 апр. 2018 г. 16:50:53

Хм, в комментариях Codex предлагали не использовать time() в качестве четвёртого параметра. https://developer.wordpress.org/reference/functions/wp_enqueue_style/#comment-2056

Rocky Kev Rocky Kev
29 мая 2020 г. 00:03:38
0

Если вы используете кеширование для ваших стилей, вам необходимо обновить кеш, отключить плагин кеширования или просто добавить функцию "time()" к версии ваших стилей.

wp_enqueue_style( 'some-style', get_stylesheet_directory_uri() . '/yourpath.css', array(), time());

Больше информации о стилях в WordPress вы можете найти здесь. wp_enqueue_style

9 апр. 2018 г. 14:07:02
0

Это действительно может быть сложной проблемой, имеющей множество аспектов:

Пожалуйста, уточните: вы разрабатываете локально (сервер, база данных на вашем компьютере) или удалённо (хостинг, FTP и т.д.)?

Кеширование может быть настоящей головной болью: Хостинг-провайдер может использовать механизм кеширования (например, Varnish Cache) WordPress может иметь механизм кеширования (например, W3 Total Cache) Браузерный кеш может хранить CSS-файлы долгое время (настройки в .htaccess)

Таким образом, при правильной настройке .htaccess и других параметров, все три уровня кеширования могут усложнять обновление (особенно) CSS-изменений. Как уже отметил mmm, добавление версии в functions.php — очень полезный и рекомендуемый метод, но он не всегда работает (например, с Varnish Cache).

Если вы находитесь в стадии разработки, рекомендуется отключать все механизмы кеширования при внесении CSS-изменений и использовать метод "обновления версии" — это наиболее рекомендуемый способ. Если же это уже рабочий сайт, советую привыкнуть очищать все три уровня кеша перед обновлением (для небольших изменений это не проблема).

Но более простого пути нет — именно для этого и существуют кеши и долгие сроки хранения.

9 апр. 2018 г. 16:47:35