- Status
- Gelöst
Übersicht über das Problem
Wenn HyperDB installiert ist, erhalten Sie beim Erstellen eines Übersetzungsduplikats möglicherweise den folgenden Fehler:
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
Der Grund dafür ist, dass HyperDB inkompatible SQL-Modi aktiviert: ‘NO_ZERO_DATE’, ‘ONLY_FULL_GROUP_BY’, ‘STRICT_TRANS_TABLES’, ‘STRICT_ALL_TABLES’, ‘TRADITIONAL’. Diese Modi wurden ab Version WordPress 3.9 und neuer als inkompatibel deklariert und sind in der Standard-wpdb-Klasse deaktiviert.
Wenn solche inkompatiblen Modi in den MySQL-Einstellungen auf Ihrem Server festgelegt sind und HyperDB auf der Website installiert ist, treten beim Erstellen von Duplikaten in WPML Fehler auf.
Das WPML-Entwicklungsteam bietet Support für Funktionen, die offiziell von WordPress unterstützt werden, weshalb ein Fix für HyperDB nicht in den WPML-Core-Code aufgenommen werden kann.
Problemumgehung
Wir haben ein spezielles Plugin namens WPML HyperDB erstellt, das das oben beschriebene Problem behebt. Das Plugin kann hier heruntergeladen werden.