Panoramica del problema
Se stai usando WPML 4.6.7 e provi a scollegare una traduzione dal suo articolo originale, quando selezioni Nessuno nel menu a discesa Questa è una traduzione di nell’Editor di WordPress, lo scollegamento non viene mantenuto. Invece, WPML annulla automaticamente le modifiche, ricollegando la traduzione all’articolo originale quando aggiorni la traduzione.
Soluzione alternativa
Questo problema è stato risolto in WPML 4.6.8. L'aggiornamento risolve il problema sul tuo sito, quindi hai bisogno di questa soluzione alternativa solo se non puoi ancora aggiornare.
Assicurati di avere un backup completo del tuo sito prima di procedere.
- Apri il file …/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.php.
- Cerca la riga 169.
- Sostituisci:
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( - Con:
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(