J'ai observé l'intérieur de la fonction wp_head
dans les liens source de chaque fichier .css
, .js
, un ?ver=1
( ou un autre numéro basé sur la version/library du fichier ) est ajouté. Comment puis-je les écraser pour les supprimer?
Je pense que ce problème est à l'origine de problèmes dans la partie manifeste du cache.
Vous pouvez vous connecter à style_loader_src
et script_loader_src
et exécuter remove_query_arg( 'ver', $url )
sur l'URL:
<?php
/* Plugin Name: Remove version parameter for scripts and styles */
add_filter( 'style_loader_src', 't5_remove_version' );
add_filter( 'script_loader_src', 't5_remove_version' );
function t5_remove_version( $url )
{
return remove_query_arg( 'ver', $url );
}
Sans ce plugin:
Après activation du plugin:
Il y a un cas où cela va échouer: quand quelqu'un n'utilisait pas l'API script/style, mais ajoutait une chaîne codée en dur à l'en-tête.
Cela a fonctionné pour moi alors que je devais encore charger une feuille de style à partir de Google Fonts.
<?php
add_filter( 'script_loader_src', 'wpse130419_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', 'wpse130419_remove_script_version', 15, 1 );
function wpse130419_remove_script_version( $src ) {
$url = explode( '?', $src );
if ( $url[0] === 'http://fonts.googleapis.com/css' ) :
$version = explode( '&ver=', $url[1] );
$url[1] = $version[0];
endif;
return ( $url[0] === 'http://fonts.googleapis.com/css' )
? "{$url[0]}?{$url[1]}"
: $url[0]
;
}