Ao verificar o código-fonte, vi que o WordPress usa o jQuery v1.12.4. Por que o WordPress usa esta versão desatualizada do jQuery?
Ao verificar o código-fonte, vi que o WordPress usa o jQuery v1.12.4. Por que o WordPress usa esta versão desatualizada do jQuery?
Respostas:
Existem muitos temas e plugins usando o jQuery, conforme carregado pelo núcleo do WP. Toda vez que o jQuery é atualizado, há o risco de temas e plugins antigos serem quebrados (porque muitos deles ainda são usados, mas não são mais atualizados). É por isso que você também vê jquery-migrate.jsno seu código fonte. É um script que captura funções antigas usadas por plugins / temas e garante que elas ainda funcionem em versões mais recentes do jQuery.
Mudar para a 3.xfamília jQuery causaria a quebra de muitos plugins / temas, porque não é possível ter um script de migração para tudo que foi descontinuado. É por isso que novas versões da 1.xfamília ainda estavam sendo desenvolvidas enquanto as famílias 2.xe 3.xjá existiam. Não haverá novas versões 1.xe 2.xversões posteriores 1.12e 2.2, exceto para patches (de segurança). Embora o jQuery 1.12não esteja desatualizado no momento, estará no futuro próximo.
Então, o WordPress está em conflito. Se não atualizar para uma versão mais alta do jQuery, não poderá acompanhar as novas possibilidades. No entanto, se atualizar, os sites mais antigos serão interrompidos. O resultado mais provável é que o WP espere alguns anos, para que os temas / plug-ins mais antigos sejam eliminados de qualquer maneira e depois pule para a 3.xfamília .
Esclarecimento
O exemplo acima pode sugerir que a migração de 1.xversões para 3.xnão é realmente possível. Isso não é verdade. É um pouco complicado. O truque é atualizar primeiro 1.12, depurar o resultado usando o script de migração mais antigo e, em seguida, adicionar o 3.0script de migração, que funciona com ele 1.12. Instruções detalhadas aqui .
Atualização de segurança
Os desenvolvedores perceberão que o Google Dev Tools / Lighthouse relata os sites do WordPress como vulneráveis devido à presença desta versão mais antiga do jQuery - ou pelo menos parece. De fato, tudo o que o Lighthouse faz é verificar se esta biblioteca possui vulnerabilidades mencionadas no banco de dados de vulnerabilidades do Snyk . Se você verificar isso em detalhes, verá que a versão 1.12.4 está limpa. Dado o amplo uso do 1.12.4, você pode contar com qualquer vulnerabilidade séria que seja tratada rapidamente.
Para ser ainda mais correto.
O ramo 1.x inclui suporte para o IE 6/7/8 e o ramo 2.x não.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/