Параметр URL версии для предотвращения (? Ver = XXX) в стилях и сценариях в очереди

12

Случай использования

Я экспериментировал с функциями Chrome Dev Tools Workspace. Он включает в себя возможность редактировать файл непосредственно в Dev Tools и обновлять сохраненную таблицу стилей (или даже компилировать, а затем обновлять!).

Однако, как задокументировано в вопросе StackOverflow «Страница Chrome« Auto-Reload Generated CSS »не перезагружается, когда SASS перекомпилирует CSS» , параметры URL в URL таблицы стилей не позволяют Chrome заметить это изменение.

Желаемый результат

Это означает, что только во время разработки я хотел удалить ?ver=X.X.Xиз обычной таблицы стилей <link>вывод wp_enqueue_style(). Другими словами, я хотел по умолчанию href:

http://localhost/mysite/wp-includes/style.css?ver=4.1.1

вместо этого:

http://localhost/mysite/wp-includes/style.css
mrwweb
источник

Ответы:

12

wp_enqueue_[style/script]()Поведение по умолчанию

Значение по умолчанию для $versionаргумента из wp_enqueue_style()IS false. Однако это значение по умолчанию означает, что вместо таблиц стилей указана версия WordPress .

Решение

Благодаря «Удалить версию из CSS и JS , поставленных в WordPress» , я узнал недокументированный факт, что передача nullверсии как версии полностью удалит версию!

пример

wp_enqueue_style( 'wpse-styles', get_template_directory_uri() . '/style.css', array(), null );

Будьте внимательны

Как отмечено в вопросе, стоит отметить, что это, вероятно, следует делать только во время разработки (как в конкретном сценарии использования). Параметр version помогает в кэшировании (а не в кэшировании) посетителей сайта, поэтому, вероятно, его следует оставить в 99% случаев в одиночестве.

mrwweb
источник
8

Спасибо за ваш пост, mrwweb.

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

<?php

/*
Plugin name: Strip WP Version in Stylesheets/Scripts
*/

function switch_stylesheet_src( $src, $handle ) {

        $src = remove_query_arg( 'ver', $src );
        return $src;
}
add_filter( 'style_loader_src', 'switch_stylesheet_src', 10, 2 );

?>

Я потратил пару минут, пытаясь найти это решение. Думаю, я мог бы поделиться здесь другим вариантом вместо создания нового Вопроса / Ответа.

Рикардо Андрес
источник
не работает ...
Реджи
Это правильный ответ. Используйте этот фильтр при разработке и удаляйте его, когда он появится в живых.
dtbaker
Лучше, чем стили очереди и очереди. Также применимо к сценариям с фильтромscript_loader_src
Дхарма