Saat memeriksa kode sumber, saya melihat bahwa WordPress menggunakan jQuery v1.12.4. Mengapa WordPress menggunakan jQuery versi lama ini?
Saat memeriksa kode sumber, saya melihat bahwa WordPress menggunakan jQuery v1.12.4. Mengapa WordPress menggunakan jQuery versi lama ini?
Jawaban:
Ada banyak tema dan plugin menggunakan jQuery yang dimuat oleh WP core. Setiap kali jQuery diperbarui, ada risiko tema lama dan melanggar plugin (karena banyak dari mereka masih digunakan tetapi tidak lagi diperbarui). Itu sebabnya Anda juga melihat jquery-migrate.js
dalam kode sumber Anda. Ini adalah skrip yang menangkap fungsi lama yang digunakan oleh plugin / tema dan memastikan bahwa mereka masih berfungsi di versi jQuery yang lebih baru.
Pindah ke 3.x
keluarga jQuery akan menyebabkan banyak plugin / tema rusak, karena tidak mungkin memiliki skrip migrasi untuk semua yang sudah usang. Inilah sebabnya mengapa versi baru 1.x
keluarga masih dikembangkan sementara 2.x
dan 3.x
keluarga sudah ada. Tidak akan ada versi baru 1.x
dan2.x
setelah 1.12
dan 2.2
, kecuali untuk patch (keamanan). Meskipun jQuery 1.12
tidak ketinggalan zaman sekarang, itu akan dalam waktu dekat.
Jadi, WordPress sedang terikat. Jika tidak meningkatkan ke versi jQuery yang lebih tinggi, itu tidak dapat mengikuti kemungkinan baru. Namun, jika itu meningkatkan, situs yang lebih lama akan rusak. Hasil yang paling mungkin adalah bahwa WP akan menunggu selama beberapa tahun, jadi tema / plugin yang lebih lama akan dihapus, dan kemudian melompat ke 3.x
keluarga .
Klarifikasi
Di atas mungkin menyarankan bahwa bermigrasi dari 1.x
versi ke 3.x
sebenarnya tidak mungkin. Itu tidak benar. Ini sedikit rumit. Caranya adalah dengan terlebih dahulu memutakhirkan ke 1.12
, debug hasilnya menggunakan skrip migrasi yang lebih lama dan kemudian tambahkan 3.0
skrip migrasi, yang berfungsi dengan baik 1.12
. Instruksi lengkap di sini .
Pembaruan keamanan
Pengembang akan melihat bahwa Google Dev Tools / Lighthouse melaporkan situs WordPress sebagai rentan karena kehadiran versi jQuery yang lebih tua ini - atau sepertinya begitu. Akibatnya, semua Lighthouse lakukan adalah memeriksa apakah perpustakaan ini memiliki kerentanan yang disebutkan dalam Database Kerentanan Snyk . Jika Anda memeriksa ini secara rinci, Anda akan menemukan bahwa versi 1.12.4 bersih. Mengingat penyebaran luas 1,12,4 Anda dapat mengandalkan kerentanan serius yang ditangani dengan cepat.
Untuk menjadi lebih benar.
Cabang 1.x termasuk dukungan untuk IE 6/7/8 dan cabang 2.x tidak.
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/