Modifier le numéro de version par défaut des ressources de WordPress

Modifier le numéro de version par défaut des ressources de WordPress

Numéro de version

Quand on regarde le code source généré par WordPress, vous pouvez remarquer que sur toutes les ressources (ou presque) est appliqué un numéro de version. Comme vous pouvez le voir sur cette capture :

En jaune la version de WordPress au moment ou j’ai écrit l’article

 

Cela permet au moment d’une mise à jour d’une ressource (css, script javascript, etc.), d’indiquer au serveur que le fichier n’est pas le même. Ca permet surtout de mettre à jour le cache du serveur afin de rafraîchir la donnée.

Quand on ajoute une ressource, il est important de noter la version de la bibliothèque, sinon il est appliqué par défaut la version de WordPress (4.7 dans notre exemple).

L’exemple suivant montre la méthode à utiliser avec WordPress avec wp_enqueue_scripts.

<?php
function ctw_load_scripts(){
	// http://rickharrison.github.io/validate.js/
	wp_register_script( 'validatejs',  CTW_PLUGIN_URL.'/lib/validate/validate.min.js' , array(), '2.0', true);
	wp_enqueue_script( 'validatejs');
}
add_action('wp_enqueue_scripts', 'ctw_load_scripts', 10);
?>
?>
Exemple d'enregistrement de ressources, la version de la ressource est 2.0

 

Version en mode projet

Quand on travail sur un projet plus important qu’un simple blog, il peut être fastidieux de mettre à jour toutes ces versions, surtout pour des correctifs mineurs des ressources.

Alors plutôt que d’attendre la nouvelle version de WordPress pour mettre à jour le site 😉 ou évidemment d’incrémenter à chaque modification d’un fichier la version, c’est de remplacer la version par défaut de WordPress par un numéro de version de votre projet. Et permettre une mise à jour automatique de vos ressources à la mise à jour de la version de votre projet.

Voici une méthode simple pour le faire, il suffit de remplacer le numéro de version par défaut pour les variables globales $wp_styles et $wp_scripts :

<?php
// On définit le numéro de version, dans une constante par exemple
define('CTW_VERSION', 1.10);



function ctw_load_scripts(){

	// On appelle les variables globales pour les ressources
	global $wp_styles, $wp_scripts;

	// On remplace la version WP par la version PTW
	$wp_styles->default_version  = CTW_VERSION;
	$wp_scripts->default_version = CTW_VERSION;
	
	/* ... Reste des scripts 
	wp_register_script( ...);
	wp_enqueue_script( ...);
	*/
}
add_action('wp_enqueue_scripts', 'ctw_load_scripts', 10);

?>
Remplacer le numéro de version par défaut des ressources WordPress

Le numéro de version peut être définis dans le thème ou le plugin qu’importe.

 

Ne pas afficher la version sur les ressources

Petit bonus, si jamais vous ne voulez pas afficher ce numéro de version, comme préconisé par GtMetrix :

Il y a un moyen simple qui est de supprimer la version, seulement attention, le cache ne sera pas vidé à chaque mise à jour, il faudra vider le cache du serveur manuellement mais on ne pourra pas vider celui du navigateur du visiteur, c’es donc non recommandé.

<?php

/* Non recommandé */
add_filter( 'script_loader_src', 'ctw_remove_script_ver', 12, 1 );
add_filter( 'style_loader_src', 'ctw_remove_script_ver', 12, 1 );

/* Non recommandé */
function ctw_remove_script_ver( $src ){
	$parts = explode( '?', $src );
	return $parts[0];
}
?>
Supprimer les numéro de version sur les ressources scripts et styles

Le mieux pour faire disparaître est de faire du cache busting décrit içi : https://www.screenfeed.fr/plugin-wp/sf-cache-busting/


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *