Sửa lỗi WPML không hiện ô nhập license key bằng wp-config.php

C
codetot

Khi WPML không hiện ô nhập license key sau khi unregister/register, có thể khai báo OTGS_INSTALLER_SITE_KEY_WPML trong wp-config.php để kích hoạt lại.

Tóm tắt nhanh: nếu WPML không hiện ô nhập license key mới sau khi unregister/register trong dashboard, hãy thử kiểm tra lại URL đăng ký trước. Nếu form vẫn không xuất hiện hoặc phần Commercial tab bị kẹt trạng thái, có thể khai báo site key trực tiếp trong wp-config.php bằng hằng số OTGS_INSTALLER_SITE_KEY_WPML.

Cách này hữu ích khi database được copy qua lại giữa production, staging và local, hoặc khi WPML vẫn giữ trạng thái license cũ nên giao diện nhập key mới không hiện đúng. WPML cũng có tài liệu chính thức về việc đặt site key trong wp-config.php để tự động đăng ký theo từng môi trường.

Dấu hiệu lỗi thường gặp

Lỗi thường xuất hiện sau khi bạn đổi license, unregister site cũ, tạo key mới trên wpml.org rồi quay lại WordPress để register lại. Về lý thuyết, bạn vào Plugins > Add New > Commercial, chọn Unregister WPML from this site, sau đó form Register WPML sẽ hiện ra để nhập key mới.

WPML license key trong Commercial tab
Commercial tab là nơi unregister/register WPML license key trước khi nhập site key mới. Ảnh: WPML.

Nhưng trong một số trường hợp, form nhập key mới không thấy đâu. Dashboard có thể vẫn giữ trạng thái đã unregister, hoặc chỉ hiện thông báo nhưng không có field để paste license key. Khi đó, thao tác trên UI không còn là cách nhanh nhất.

Nguyên nhân nên kiểm tra trước

  • Sai định dạng domain khi tạo key: WPML yêu cầu URL trong tài khoản phải khớp với URL trong WordPress, bao gồm http hay https, có www hay không có www.
  • Key development đang dùng cho production: site vẫn chạy được nhưng có thể hiện banner development site.
  • Database vừa được migrate: license state cũ đi theo database sang môi trường mới.
  • Commercial tab bị lỗi hoặc không hiện đủ UI: có thể do quyền file, môi trường hosting, cache admin, plugin installer hoặc trạng thái đăng ký bị lệch.

Cách xử lý bằng wp-config.php

Mở file wp-config.php của website và thêm dòng này trước đoạn /* That's all, stop editing! Happy publishing. */:

Cảnh báo trước khi sửa: chỉ chỉnh wp-config.php khi bạn có quyền truy cập file, hiểu cú pháp PHP cơ bản và có cách rollback. Chỉ cần thiếu dấu nháy hoặc dấu chấm phẩy cũng có thể làm website lỗi trắng.

define( 'OTGS_INSTALLER_SITE_KEY_WPML', 'your-site-key' );

Thay your-site-key bằng site key bạn tạo trong tài khoản WPML. Sau đó vào lại WordPress admin và kiểm tra phần update/plugin commercial. WPML sẽ đọc key từ hằng số này thay vì bắt bạn nhập lại qua form trong dashboard.

Lưu ý bảo mật: không commit license key thật vào Git repository. Nếu dự án có version control, hãy đặt hằng số này trong file cấu hình riêng theo môi trường, hoặc đảm bảo wp-config.php production không bị đưa lên repo công khai.

Quy trình khuyến nghị

  1. Vào WPML account > Sites và tạo site key đúng domain.
  2. Đối chiếu domain với Settings > General trong WordPress: phải đúng protocol và đúng www/non-www.
  3. Nếu đang dùng dashboard, thử vào Plugins > Add New > Commercial để unregister/register lại.
  4. Nếu form nhập key không hiện, khai báo OTGS_INSTALLER_SITE_KEY_WPML trong wp-config.php.
  5. Xóa cache admin/object cache nếu có, rồi kiểm tra lại phần cập nhật WPML.

Development key và production key khác nhau thế nào?

Loại key Dùng khi nào Lưu ý
Production key Website chính thức cho khách hàng hoặc người dùng thật. Không hiện banner development site. Đây là key nên dùng cho domain live.
Development key Local, staging, dev server hoặc môi trường thử nghiệm. Có thể hiện thông báo site đang được đăng ký như development site.

Nếu site live đang dùng nhầm development key, hãy chuyển site sang production trong tài khoản WPML hoặc tạo key production mới rồi cập nhật lại. Theo WPML, nếu banner development vẫn còn sau khi chuyển, bạn có thể unregister và register lại bằng key mới mà không mất bản dịch.

Khi nào không nên dùng cách này?

Không nên dùng hằng số trong wp-config.php nếu team của bạn muốn quản lý license hoàn toàn qua dashboard và không có quy trình bảo mật cấu hình rõ ràng. Ngoài ra, nếu bạn cần unregister key từ dashboard, WPML có thể yêu cầu gỡ hằng số này trước vì site key đang bị ép từ wp-config.php.

Checklist debug nhanh

  • Domain trong WPML account có khớp homesiteurl của WordPress không?
  • Key đang là production hay development?
  • Website có đang dùng cache/object cache làm admin hiển thị trạng thái cũ không?
  • wp-config.php có đang khai báo key cũ bằng OTGS_INSTALLER_SITE_KEY_WPML không?
  • Nếu deploy nhiều môi trường, mỗi môi trường đã có key riêng chưa?

Câu hỏi thường gặp

Thêm site key vào wp-config.php có làm mất bản dịch không?

Không. Đây là cấu hình đăng ký license/update của WPML, không phải thao tác xóa dữ liệu dịch. Dù vậy, trước khi sửa file cấu hình trên production, bạn vẫn nên có backup hoặc cách rollback rõ ràng.

Có nên dùng chung một WPML key cho production và staging không?

Không nên. Cách sạch hơn là tạo key riêng cho từng domain hoặc từng môi trường. WPML có tài liệu khuyến nghị tạo site key khác nhau cho production, development và staging rồi đặt từng key trong wp-config.php tương ứng.

Vì sao đã unregister mà form nhập key vẫn không hiện?

Thường là do trạng thái đăng ký trong installer bị lệch, UI Commercial tab không load đúng, hoặc môi trường hosting có giới hạn khiến thao tác register/unregister không chạy như kỳ vọng. Khi đó, khai báo key bằng hằng số trong wp-config.php là một đường xử lý thực dụng.

Bài liên quan

Nguồn tham khảo