Mientras revisaba el código fuente, vi que WordPress usa jQuery v1.12.4. ¿Por qué WordPress usa esta versión desactualizada de jQuery?
Mientras revisaba el código fuente, vi que WordPress usa jQuery v1.12.4. ¿Por qué WordPress usa esta versión desactualizada de jQuery?
Hay muchos, muchos temas y complementos que utilizan jQuery como está cargado por el núcleo de WP. Cada vez que se actualiza jQuery, existe el riesgo de que los temas antiguos y los complementos se rompan (porque muchos de ellos aún se utilizan pero ya no se actualizan). Es por eso que también ves jquery-migrate.js
en tu código fuente. Es un script que captura las funciones antiguas utilizadas por los complementos / temas y se asegura de que todavía funcionen en las versiones más recientes de jQuery.
Mover a la familia jQuery 3.x
causaría que muchos complementos / temas se rompan, porque es no es posible tener un script de migración para todo lo que está en desuso. Esta es la razón por la que todavía se estaban desarrollando nuevas versiones de la familia 1.x
mientras que ya existían las familias 2.x
y 3.x
. Habrá no hay nuevas versiones de 1.x
y 2.x
después de 1.12 y 2.2, excepto por los parches (de seguridad). Aunque jQuery 1.12
no está obsoleto en este momento, lo estará en un futuro próximo.
Por lo tanto, WordPress está en un enlace. Si no se actualiza a una versión jQuery superior, no puede mantenerse al día con nuevas posibilidades. Sin embargo, si se actualiza, los sitios más antiguos se romperán. El resultado más probable es que WP esperará durante un par de años, por lo que los temas / complementos más antiguos se eliminarán de todos modos y luego salta a la familia 3.x
.
Clarificación
Lo anterior podría sugerir que la migración de 1.x
versiones a 3.x
no es realmente posible. Eso no es cierto. Es un poco complicado. El truco es primero actualizar a 1.12
, depurar el resultado usando el script de migración anterior y luego agregar el script de migración 3.0
, que funciona con 1.12
. Instrucciones detalladas aquí .
Lea otras preguntas en las etiquetas theme-development plugin-development jquery