- สถานะ
- แก้ไขแล้ว
ภาพรวมของปัญหา
เมื่อติดตั้ง HyperDB คุณอาจพบข้อผิดพลาดต่อไปนี้เมื่อทำสำเนาการแปล:
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
สาเหตุคือ HyperDB เปิดใช้งานโหมด SQL ที่เข้ากันไม่ได้: ‘NO_ZERO_DATE’, ‘ONLY_FULL_GROUP_BY’, ‘STRICT_TRANS_TABLES’, ‘STRICT_ALL_TABLES’, ‘TRADITIONAL’ โหมดเหล่านี้ถูกประกาศว่าเข้ากันไม่ได้ตั้งแต่เวอร์ชัน WordPress 3.9 ขึ้นไป และถูกปิดใช้งานในคลาส wpdb มาตรฐาน
หากมีการตั้งค่าโหมดที่เข้ากันไม่ได้ดังกล่าวในการตั้งค่า MySQL บนเซิร์ฟเวอร์ของคุณ และมีการติดตั้ง HyperDB บนไซต์ จะเกิดข้อผิดพลาดขึ้นเมื่อทำสำเนาใน WPML
ทีมพัฒนา WPML ให้การสนับสนุนฟีเจอร์ที่รองรับอย่างเป็นทางการโดย WordPress ซึ่งเป็นเหตุผลที่ไม่สามารถรวมการแก้ไขสำหรับ HyperDB ไว้ในโค้ดตัวหลักของ WPML ได้
วิธีแก้ปัญหาชั่วคราว
เราได้สร้างปลั๊กอินพิเศษชื่อ WPML HyperDB ซึ่งช่วยแก้ไขปัญหาที่อธิบายไว้ข้างต้น สามารถดาวน์โหลดปลั๊กอินได้ที่นี่