web-dev-qa-db-fra.com

Empêcher le paramètre d'URL de version (? Ver = X.X.X) sur les styles et scripts en attente

Cas d'utilisation

J'ai déjà expérimenté les fonctionnalités de Google Chrome dans Dev Tools. Cela inclut la possibilité d’éditer un fichier directement dans Outils de développement et d’actualiser la feuille de style enregistrée (ou même de la compiler et de l’actualiser!).

Toutefois, comme indiqué dans la question StackOverflow "Le code CSS" de rechargement automatique généré par Chrome "ne recharge pas la page lorsque SASS recompile CSS" , les paramètres d'URL de l'URL de la feuille de style empêchent Chrome de remarquer le changement.

Résultat souhaité

Cela signifie que uniquement pendant le développement , je voulais supprimer le ?ver=X.X.X de la feuille de style normale <link> produite par wp_enqueue_style(). En d'autres termes, je voulais la valeur par défaut href:

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

être plutôt ceci:

http://localhost/mysite/wp-includes/style.css
11
mrwweb

Comportement wp_enqueue_[style/script]() par défaut

La valeur par défaut de l'argument $version de wp_enqueue_style() est false. Cependant, cette valeur par défaut signifie simplement que les feuilles de style reçoivent à la place le version de WordPress .

Solution

Grâce à "Supprimer la version de WordPress en file d'attente CSS et JS" , j'ai appris le fait non documenté que le fait de passer null en tant que version supprimera complètement la version!

Exemple

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

Rappel de mise en garde

Comme indiqué dans la question, il convient de souligner que cela ne devrait probablement être fait que pendant le développement (comme dans le cas spécifique). Le paramètre version facilite la mise en cache (et non la mise en cache) pour les visiteurs du site et devrait donc probablement rester seul dans 99% des cas.

11
mrwweb

Merci pour votre message, mrwweb.

J'ai trouvé une autre solution à cela: en créant un plugin très simple, vous pouvez le désactiver lorsque le site n'est plus en développement.

<?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 );

?>

J'ai passé quelques minutes à essayer de trouver cette solution. Je pensais que je pourrais partager une autre option ici au lieu de créer une nouvelle question/réponse.

8
Ricardo Andres