Cómo eliminar la versión de WordPress de algunos archivos .css/.js
Sé que puedo usar la siguiente función para eliminar la versión de todos los archivos .css
y .js
:
add_filter( 'style_loader_src', 'sdt_remove_ver_css_js', 9999 );
add_filter( 'script_loader_src', 'sdt_remove_ver_css_js', 9999 );
function sdt_remove_ver_css_js( $src ) {
if ( strpos( $src, 'ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
Pero tengo algunos archivos, por ejemplo style.css
, en los que quiero agregar una versión de la siguiente manera:
function css_versioning() {
wp_enqueue_style( 'style',
get_stylesheet_directory_uri() . '/style.css' ,
false,
filemtime( get_stylesheet_directory() . '/style.css' ),
'all' );
}
Pero la función anterior también elimina esta versión. Entonces, ¿cómo hacer que las dos funcionen juntas?

Puedes verificar el handle actual antes de eliminar la versión.
Aquí tienes un ejemplo (no probado):
add_filter( 'style_loader_src', 'sdt_remove_ver_css_js', 9999, 2 );
add_filter( 'script_loader_src', 'sdt_remove_ver_css_js', 9999, 2 );
function sdt_remove_ver_css_js( $src, $handle )
{
$handles_with_version = [ 'style' ]; // <-- ¡Ajusta según tus necesidades!
if ( strpos( $src, 'ver=' ) && ! in_array( $handle, $handles_with_version, true ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}

Desde que se escribió esta pregunta, mucho ha cambiado con WordPress. Aquí hay una nueva forma de evitar que WordPress muestre su número de versión:
// eliminar versión del head
remove_action('wp_head', 'wp_generator');
// eliminar versión del feed RSS
add_filter('the_generator', '__return_empty_string');
// eliminar versión de scripts y estilos
function remove_version_scripts_styles($src) {
if (strpos($src, 'ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'remove_version_scripts_styles', 9999);
add_filter('script_loader_src', 'remove_version_scripts_styles', 9999);
No se requiere edición. Añade a functions.php y listo. O agrega mediante un plugin personalizado simple. ¡La elección es tuya! :)

¿No es esta respuesta copiada directamente de aquí? Siempre deberías dar crédito al autor original, a menos que hayas escrito ese artículo

Agregué el enlace al artículo original. Sin ofender. Solo quería ayudar a la gente a resolver el problema. Nunca me atribuí el crédito.

No insinué que lo hiciste, solo mostré la forma correcta de hacerlo. eso es todo :)

Para apuntar a un archivo específico
// remover versión de scripts y estilos
function remove_version_scripts_styles($src) {
if (strpos($src, 'yourfile.js')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('script_loader_src', 'remove_version_scripts_styles', 9999);
