Принудительная перезагрузка стиля. css в WooCommerce - PullRequest
0 голосов
/ 23 марта 2020

Я бы хотел применить стиль. css перезагрузить для пользователей, так как их кеш браузера может испортить дизайн. Я пытаюсь работать с версией к ней (например, стиль. css? Ver = 2).

Это лучший способ сделать это? В конце концов я мог бы запустить этот динамический c, как показано на ссылка . Но сейчас я даже не могу заставить это работать.

Я использую Salient Theme, и у них есть сценарий enqueue. php, который загружает файлы. css, если я прав. На данный момент я добавил? Ver = 2 в код ниже. Тем не менее, это все еще теперь меняет вывод, когда я смотрю на мою домашнюю страницу. Я очистил кэшированный и дважды проверил, разрешены ли строки запроса. Но серверное кеширование и WP-rocket, кажется, позволяют это. Любые указатели на то, как я могу заставить это работать, чтобы заставить стиль. css перезагрузить?

if( is_child_theme() ) {
        $nectar_theme_version = nectar_get_theme_version();
        wp_register_style( 'salient-child-style', get_stylesheet_directory_uri() . '/style.css?ver=2', '', $nectar_theme_version );
        wp_enqueue_style( 'salient-child-style' );
    }

UDPATE: я попытался изменить этот код на /style2.css. Это, кажется, обновляет вывод. Кажется, я в правильных настройках, но запрос обрезается.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Я бы программно изменил версию, используя filemtime. Даже если версия не отображается, браузер должен читать новый файл:

if( is_child_theme() ) {
        wp_enqueue_style( 
            'salient-child-style', 
            get_stylesheet_directory_uri() . '/style.css', 
            [], 
            filemtime( get_stylesheet_directory() . '/style.css' )
        );
    }

В основном это будет время изменения файла, и если оно будет другим, версия обновится и дайте браузеру знать, что версия изменилась. Также вам не нужен отдельный wp_register_style, но если вы хотите сохранить его:

if( is_child_theme() ) {
        $nectar_theme_version = nectar_get_theme_version();
        wp_register_style( 'salient-child-style', get_stylesheet_directory_uri() . '/style.css', '', filemtime( get_stylesheet_directory() . '/style.css' ) );
        wp_enqueue_style( 'salient-child-style' );
    }
0 голосов
/ 10 апреля 2020

Поместите эти метатеги в свой заголовок. php файл (внутри заголовка):

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...