Cómo eliminar «jQuery Migrate» y actualizar la versión

Una de las cosas que detecté revisando a través de la extensión de Chrome Wappalyzer para ver las diferentes tecnologías que tenía instaladas en mi sitio web, es la versión de jQuery que estaba corriendo.

Es importante que tengas la versión más actualizada posible por temas de seguridad, puedes acceder al listado completo sobre cuál es la última versión publicada a través de la web oficial de jQuery y las diferentes releases.

Pues bien, revisando, me di cuenta que estaba corriendo la versión jQuery Migrate 3.3.2, y la actual a fecha de 20/12/2022 es la jQuery Core 3.6.2.

Para ver la línea de código donde está Migrate, lo único que tienes que hacer es buscar en el código fuente «jquery» y verás donde está.

Cuando se incluye en un sitio web jQuery migrate se proporciona una serie de herramientas y métodos que pueden ayudar a identificar y solucionar problemas de compatibilidad con versiones anteriores de jQuery. Esto puede ser especialmente útil cuando se utiliza código escrito para versiones más antiguas de jQuery en una versión más reciente del framework, ya que puede haber cambios en la sintaxis y en el comportamiento de algunas funciones entre las diferentes versiones.

Sin embargo, en algunos casos, puede ser necesario eliminar jQuery migrate de un sitio web. Por ejemplo, si estás seguro de que no estás utilizando código que necesite la compatibilidad con versiones anteriores de jQuery y quieres eliminar el script para reducir la cantidad de código que se carga en tu sitio, puedes utilizar el siguiente código para eliminar jQuery migrate de tu sitio de WordPress:

function remove_jquery_migrate( $scripts ) {
  if ( ! is_admin() && isset( $scripts->registered['jquery'] ) ) {
    $script = $scripts->registered['jquery'];
    
    if ( $script->deps ) { 
      $script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
    }
  }
}
add_action( 'wp_default_scripts', 'remove_jquery_migrate' );

Para utilizar este código, simplemente copia y pega el código en el archivo functions.php de tu tema de WordPress o en un plugin personalizado. Esto debería eliminar jquery migrate de tu sitio de WordPress.

Ten en cuenta que jquery migrate se incluye en WordPress para proporcionar compatibilidad con versiones anteriores de jQuery y puede ser necesario en algunos casos. Si eliminas jquery migrate y tu sitio deja de funcionar correctamente, es posible que debas volver a incluirlo.

En mi caso, lo que hice en primer momento fue intentar actualizar a la última versión de jQuery de forma «manual». En mi caso, y teniendo en cuenta que tenía problemas para incluir cierto código en el functions.php del site y actualizarlo, tuve que incluir un script desde el plugin WPCode Lite.

Para ello copié directamente el script que te ofrece la web oficial de jQuery y creando un nuevo snippet desde el plugin WPCode Lite (como Javascript Snippet) lo pegué directamente y lo activé. Es el siguiente:

<script src="https://code.jquery.com/jquery-3.6.2.js" integrity="sha256-pkn2CUZmheSeyssYw3vMp1+xyub4m+e+QK4sQskvuo4=" crossorigin="anonymous"></script>

Para evitar que se duplicaran dos líneas de la versión de jQuery lo que hice fue eliminar ese Migrate para no duplicar y tener líneas de código minificadas.

Al incluirlo, ocurrió que (quizás por el cacheo de este tipo de ficheros, no lo sé) en el código fuente de la web:

1)Se eliminó la línea de jQuery Migrate 3.3.2 que había:

<script src='https://albertoestrada.es/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script>

2)Y se añadió la línea de jQuery minificada de 3.6.1 desde la carpeta interna /wp-includes/, y no la 3.6.2 que es la última que había añadido y que se llamaba desde https://code.jquery.com/jquery-3.6.2.js):

<script src='https://albertoestrada.es/wp-includes/js/jquery/jquery.min.js?ver=3.6.1' id='jquery-core-js'></script>

Para modificar el código del script, puedes acceder a tu Administrador de Archivos y dentro de tu directorio /wp-includes/js/jquery/* podrás ver los diferentes scripts, y verás tanto el min.js que instala la versión 3.6.1, y el migrate. De esta forma, puedes editar su información y actualizar a la última versión.

De hecho puedes ver el código en raw del js versión 3.6.2 en su url oficial y modificarlo manual, yo lo hice, pegándolo en la versión del jquery.min.js