- Statut
- Résolu
Aperçu de l’anomalie
Lorsque HyperDB est installé, vous pouvez rencontrer l’erreur suivante lors de la création d’un duplicata de traduction :
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
La raison est qu’HyperDB active des modes SQL incompatibles : ‘NO_ZERO_DATE’, ‘ONLY_FULL_GROUP_BY’, ‘STRICT_TRANS_TABLES’, ‘STRICT_ALL_TABLES’, ‘TRADITIONAL’. Ces modes ont été déclarés incompatibles à partir de la version WordPress 3.9 et des versions ultérieures, et sont désactivés dans la classe wpdb standard.
Si ces modes incompatibles sont définis dans les paramètres MySQL de votre serveur et qu’HyperDB est installé sur le site, des erreurs se produisent lors de la création de duplicatas dans WPML.
L’équipe de développement de WPML maintient le support des fonctionnalités officiellement prises en charge par WordPress, c’est pourquoi un correctif pour HyperDB ne peut pas être inclus dans le code du noyau de WPML.
Solution de contournement
Nous avons créé une extension spéciale nommée WPML HyperDB, qui corrige le problème décrit ci-dessus. L’extension peut être téléchargée ici.