En vérifiant le code source, j'ai constaté que WordPress utilisait jQuery v1.12.4. Pourquoi WordPress utilise-t-il cette version obsolète de jQuery?
Il existe de très nombreux thèmes et plugins utilisant jQuery chargé par WP core. Chaque fois que jQuery est mis à jour, il existe un risque de rupture de thèmes et de plugins plus anciens (car beaucoup d'entre eux sont toujours utilisés mais ne sont plus mis à jour). C'est pourquoi vous voyez aussi jquery-migrate.js
dans votre code source. C'est un script qui récupère les anciennes fonctions utilisées par les plugins/thèmes et s'assure qu'elles fonctionnent toujours dans les nouvelles versions de jQuery.
Passer à la famille jQuery 3.x
provoquerait la rupture de nombreux plugins/thèmes, car il est impossible d’avoir un script de migration pour tout ce qui est obsolète. C'est pourquoi de nouvelles versions de la famille 1.x
étaient encore en cours de développement alors que les familles 2.x
et 3.x
existaient déjà. Il n'y aura aucune nouvelle version 1.x
et 2.x
après 1.12
et 2.2
, à l'exception des correctifs (de sécurité). Bien que jQuery 1.12
ne soit pas obsolète pour le moment, il le sera dans un proche avenir.
Donc, WordPress est dans une impasse. S'il ne met pas à niveau vers une version plus récente de jQuery, il ne pourra pas suivre de nouvelles possibilités. Cependant, si la mise à niveau est effectuée, les sites plus anciens seront endommagés. Le résultat le plus probable est que WP attendra quelques années. Par conséquent, les anciens thèmes/plugins seront progressivement supprimés, puis passera à la famille 3.x
.
Clarification
Ce qui précède peut suggérer que la migration des versions 1.x
vers 3.x
n’est pas réellement possible. Ce n'est pas vrai. C'est juste un peu compliqué. L'astuce consiste d'abord à mettre à niveau vers 1.12
, à déboguer le résultat à l'aide de l'ancien script de migration, puis à ajouter le script de migration 3.0
, qui fonctionne avec 1.12
. Instructions détaillées ici .
Pour être encore plus correct.
La branche 1.x prend en charge IE 6/7/8, contrairement à la branche 2.x.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/