Aperçu de l’anomalie
Si vous utilisez WPML 4.6.7 et que vous essayez de déconnecter une traduction de son article d’origine, lorsque vous sélectionnez Aucun dans le menu déroulant Ceci est la traduction de dans l’Éditeur WordPress, la déconnexion n’est pas conservée. À la place, WPML annule automatiquement les modifications et relie à nouveau la traduction à l’article d’origine une fois que vous mettez à jour la traduction.
Solution de contournement
Ce problème est résolu dans WPML 4.6.8. La mise à jour résout le problème sur votre site, vous n’avez donc besoin de cette solution de contournement que si vous ne pouvez pas encore mettre à jour.
Assurez-vous d’avoir une sauvegarde complète de votre site avant de continuer.
- Ouvrez le fichier …/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.php.
- Cherchez la ligne 169.
- Remplacez :
private function change_translation_of( $trid, $el_id, $el_type, $language_code, $src_language_code ) { $src_language_code = empty( $src_language_code ) ? $this->sitepress->get_source_language_by_trid( $trid ) : $src_language_code; if ( $src_language_code !== $language_code ) { $this->wpdb->update( - Par :
private function change_translation_of( $trid, $el_id, $el_type, $language_code, $src_language_code ) { $src_language_code = empty( $src_language_code ) && !is_null($src_language_code) ? $this->sitepress->get_source_language_by_trid( $trid ) : $src_language_code; if ( $src_language_code !== $language_code ) { if ($src_language_code == NULL) { $trid = $this->wpdb->get_var("SELECT MAX(trid) FROM " . $this->wpdb->prefix . "icl_translations") + 1; } $this->wpdb->update(