ขณะตรวจสอบซอร์สโค้ดฉันเห็นว่า WordPress ใช้ jQuery v1.12.4 เหตุใด WordPress จึงใช้ jQuery รุ่นที่ล้าสมัยนี้
ขณะตรวจสอบซอร์สโค้ดฉันเห็นว่า WordPress ใช้ jQuery v1.12.4 เหตุใด WordPress จึงใช้ jQuery รุ่นที่ล้าสมัยนี้
คำตอบ:
มีธีมและปลั๊กอินมากมายที่ใช้ jQuery ตามที่โหลดโดย WP core ทุกครั้งที่มีการอัปเดต jQuery มีความเสี่ยงต่อธีมและปลั๊กอินที่เก่ากว่า (เนื่องจากยังคงมีการใช้งานจำนวนมาก แต่ไม่ได้อัปเดตอีกต่อไป) นั่นคือเหตุผลที่คุณเห็นjquery-migrate.js
ในซอร์สโค้ดของคุณด้วย มันเป็นสคริปต์ที่จับฟังก์ชั่นเก่าที่ใช้โดยปลั๊กอิน / ธีมและทำให้แน่ใจว่าพวกเขายังคงทำงานใน jQuery รุ่นใหม่กว่า
การย้ายไปยัง3.x
ตระกูลjQuery จะทำให้ปลั๊กอิน / ชุดรูปแบบหลายตัวแตกเนื่องจากไม่สามารถมีสคริปต์การย้ายข้อมูลสำหรับทุกสิ่งที่เลิกใช้แล้ว นี่คือสาเหตุที่เวอร์ชั่นใหม่ของ1.x
ครอบครัวยังคงได้รับการพัฒนาในขณะที่2.x
และ3.x
ครอบครัวมีอยู่แล้ว จะไม่มีใหม่1.x
และ2.x
เวอร์ชันหลังจาก1.12
และ2.2
ยกเว้นสำหรับแพทช์ (ความปลอดภัย) แม้ว่า jQuery 1.12
จะไม่ล้าสมัยในขณะนี้ แต่จะเป็นในอนาคตอันใกล้
ดังนั้น WordPress อยู่ในการผูก หากไม่อัพเกรดเป็นเวอร์ชั่น jQuery ที่สูงกว่าจะไม่สามารถติดตามความเป็นไปได้ใหม่ ๆ ได้ อย่างไรก็ตามหากมีการอัปเกรดไซต์เก่า ๆ ผลส่วนใหญ่ก็คือว่า WP จะรอสำหรับคู่ของปีที่ผ่านมาเพื่อให้รูปแบบเก่า / ปลั๊กอินจะถูกแบ่งออกอยู่แล้วและจากนั้นข้ามไปยัง3.x
ครอบครัว
การอธิบาย
ข้างต้นอาจแนะนำว่าการโยกย้ายจาก1.x
เวอร์ชันไป3.x
เป็นไปไม่ได้จริง ที่ไม่เป็นความจริง. มันค่อนข้างซับซ้อน เคล็ดลับคือการอัปเกรดเป็นครั้งแรก1.12
ตรวจแก้จุดบกพร่องผลลัพธ์โดยใช้สคริปต์การโอนย้ายระบบเก่าแล้วเพิ่ม3.0
สคริปต์การย้ายข้อมูลซึ่งใช้งาน1.12
ได้ คำแนะนำรายละเอียดที่นี่
การปรับปรุงความปลอดภัย
นักพัฒนาจะสังเกตเห็นว่า Google Dev Tools / Lighthouse รายงานไซต์ WordPress ว่ามีความเสี่ยงเนื่องจากมี jQuery เวอร์ชันเก่ากว่านี้ - หรือดูเหมือนว่า คลังแสงทั้งหมดจะตรวจสอบว่าห้องสมุดนี้มีช่องโหว่ที่กล่าวถึงในฐานข้อมูลช่องโหว่ Snykหรือไม่ หากคุณตรวจสอบรายละเอียดนี้คุณจะพบว่าเวอร์ชั่น 1.12.4 นั้นสะอาด ด้วยการใช้งานที่แพร่หลายของ 1.12.4 คุณสามารถวางใจได้กับช่องโหว่ร้ายแรงที่เกิดขึ้นอย่างรวดเร็ว
เพื่อให้ถูกต้องมากยิ่งขึ้น
สาขา 1.x รวมถึงการสนับสนุนสำหรับ IE 6/7/8 และสาขา 2.x ไม่ได้
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/