Published on

Hãy cẩn thận khi nâng cấp lên phiên bản WordPress 5.6

Authors

Vào ngày 08 tháng 12 mới đây, WordPress đã phát hành phiên bản 5.6 chính thức 🔗 với kha khá những thay đổi mới, trong đó có việc hỗ trợ PHP 8.0 tốt hơn, theme mới Twenty Twenty-One và... cập nhật jQuery lên phiên bản mới nhất, 3.5.1.

Việc cập nhật jQuery là điều cực kì nên làm vì phiên bản 1.12.4 này có quá nhiều lỗi bảo mật 🔗 dù rằng phiên bản mà WordPress đang sử dụng đã được patch riêng để sửa lỗi. Tuy nhiên, phiên bản mới bao giờ cũng tốt hơn, hiện đại hơn và giúp các bên phát triển có thể tập trung phát triển những tính năng mới trên bản jQuery 3.x này.


Vấn đề của phiên bản mới

Vấn đề ở đây là việc cập nhật jQuery diễn ra một cách khá âm thầm và lặng lẽ. Kế hoạch này bắt đầu bằng việc phía WordPress đã vô hiệu hóa thư viện jQuery Migrate thay vì bật mặc định trong phiên bản WordPress 5.5.

jQuery Migrate (khác với jQuery) là một thư viện con của jQuery giúp hỗ trợ những hàm, API cũ của jQuery khi sử dụng những phiên bản mới hơn. Nhờ thư viện này, lập trình viên không cần phải quan tâm jQuery đang sử dụng là phiên bản nào.

Việc tắt đi thư viện này có thể làm ảnh hưởng đến những phần code jQuery (của theme/plugin) đã cũ, làm nảy sinh các vấn đề kể cả trong WordPress dashboard (trang quản trị) và tất nhiên là ở frontend (giao diện chính) đến người dùng.


Sửa lỗi

Nếu trang của bạn dường như có vấn đề như trắng trang, các nút nhấn không hoạt động, báo lỗi Javascript trong console, hãy cài đặt ngay plugin Enable jQuery Migrate Helper 🔗 của chính WordPress để xử lý vấn đề này. Plugin trên có hai hướng giải quyết:

  • Chỉ bật lại jQuery Migrate.
  • Bật lại jQuery Migrate và hạ cấp phiên bản jQuery của WordPress xuống 1.12.4.

Để cấu hình được plugin này, hãy truy cập menu Tools (Công cụ) > jQuery Migrate trong trang quản trị WordPress, sau đó hãy bật thử "Default from WordPress" trong tùy chọn jQuery version. Đây là tùy chọn giúp bật lại jQuery Migrate nhưng vẫn sử dụng phiên bản jQuery 3.x mới nhất.

true

Sau khi kiểm tra xong, nếu không còn vấn đề gì, bạn có thể giữ tùy chọn này. Nếu trang vẫn còn vấn đề, vẫn thấy thông báo lỗi của Javascript, hãy chọn luôn tùy chọn thứ hai là "Legacy 1.12.4-wp". Tùy chọn này sẽ giúp đưa về phiên bản jQuery 1.12.4 và đảm bảo rằng website bạn sẽ trở lại hoạt động bình thường.

true

Một số bạn sử dụng WP Rocket gợi ý rằng bạn nên uncheck (bỏ chọn) tùy chọn Remove jQuery Migrate trong cấu hình của plugin này luôn nhé.

Tuy nhiên, đây là một cách giải quyết tạm thời để bạn và các lập trình viên có thời gian để cập nhật code hỗ trợ các phiên bản này. Vì vậy, theo Tuấn nghĩ:

  • Nếu website của bạn đã lâu chưa cập nhật, không muốn cập nhật theme và plugin: hãy nâng cấp WordPress một cách chậm rãi nhưng vẫn phải kèm theo plugin Enable jQuery Migrate Helper. Cách này giúp bạn vừa nhận được những tính năng mới/bản cập nhật bảo mật, vừa giữ được tính năng của website.
  • Website các bạn luôn cập nhật theme/plugin và các tính năng mới nhất: nếu tạm thời chưa có cập nhật để hỗ trợ từ theme/plugin, hãy cài đặt và cấu hình plugin theo mình hướng dẫn. Khi đã được cập nhật theme và plugin đầy đủ, hãy gỡ plugin này và tận hưởng những tính năng mới nhất của jQuery 3.x.

Vậy là đã xong, chúc các bạn vui và vẫn giữ được website hoạt động ổn định hơn bao giờ hết. Trong tương lai, mình sẽ cố gắng theo dõi các bản cập nhật Beta hay Release Candidate của WordPress để có thể thông tin nhanh đến anh em nhé.