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.js
no 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.x
famí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.x
família ainda estavam sendo desenvolvidas enquanto as famílias 2.x
e 3.x
já existiam. Não haverá novas versões 1.x
e 2.x
versões posteriores 1.12
e 2.2
, exceto para patches (de segurança). Embora o jQuery 1.12
nã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.x
família .
Esclarecimento
O exemplo acima pode sugerir que a migração de 1.x
versões para 3.x
nã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.0
script 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/