- סטטוס
- נפתר
סקירה כללית של התקלה
כאשר 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, שפותר את הבעיה המתוארת לעיל. ניתן להוריד את התוסף כאן.