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

12

Cas d'utilisation

J'ai testé les fonctionnalités de Dev Tools Workspace de Chrome. Il inclut la possibilité de modifier un fichier directement dans Dev Tools et de faire rafraîchir la feuille de style enregistrée (ou même de la compiler puis de la rafraîchir!).

Cependant, comme indiqué dans la question de StackOverflow «La page CSS« Auto-Reload Generated »de Chrome ne recharge pas la page lorsque SASS recompile CSS» , les paramètres d'URL sur l'URL de la feuille de style empêchent Chrome de remarquer le changement.

Résultat souhaité

Cela signifie que seulement pendant le développement , je voulais supprimer le ?ver=X.X.Xde la <link>sortie de feuille de style normale 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
mrwweb
la source

Réponses:

12

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

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

Solution

Grâce à "Supprimer la version de CSS et JS mis en file d'attente WordPress" , j'ai appris le fait non documenté que le passage en nulltant 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

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

mrwweb
la source
8

Merci pour votre message, mrwweb.

J'ai trouvé une autre solution à cela, en créant un plugin très simple que vous pouvez 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. J'ai pensé que je pourrais partager une autre option ici au lieu de créer une nouvelle question / réponse.

Ricardo Andres
la source
ne fonctionne pas ...
reggie
Ceci est la bonne réponse. Utilisez ce filtre lors du développement et supprimez-le une fois en ligne.
dtbaker
Bien mieux que les styles de file d'attente et de file d'attente. Également applicable aux scripts avec filtrescript_loader_src
Dharma