- Trạng thái
- Đã giải quyết
Tổng quan về lỗi
Khi HyperDB được cài đặt, bạn có thể gặp lỗi sau khi tạo một bản dịch nhân bản:
WordPress database error Field 'translator_id' doesn't have a default value for query INSERT INTO `wp_icl_translation_status` (`status`, `translation_id`) VALUES ('9', '3855') made by WPML_Post_Status::set_status
Nguyên nhân là do HyperDB bật các chế độ SQL không tương thích: ‘NO_ZERO_DATE’, ‘ONLY_FULL_GROUP_BY’, ‘STRICT_TRANS_TABLES’, ‘STRICT_ALL_TABLES’, ‘TRADITIONAL’. Các chế độ này đã được tuyên bố là không tương thích từ phiên bản WordPress 3.9 trở lên, và được tắt trong lớp wpdb tiêu chuẩn.
Nếu các chế độ không tương thích như vậy được thiết lập trong cài đặt MySQL trên máy chủ của bạn, và HyperDB được cài đặt trên trang web, thì lỗi sẽ xảy ra khi tạo các bản nhân bản trong WPML.
Nhóm phát triển WPML duy trì hỗ trợ cho các tính năng được WordPress hỗ trợ chính thức, đó là lý do tại sao bản sửa lỗi cho HyperDB không thể được đưa vào mã lõi của WPML.
Giải pháp tạm thời
Chúng tôi đã tạo một plugin đặc biệt có tên là WPML HyperDB, giúp khắc phục sự cố được mô tả ở trên. Bạn có thể tải xuống plugin tại đây