- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 4.6.7
- Решено в
- WPML 4.6.8
- Теги темы
- Bug
Обзор проблемы
Если Вы используете WPML 4.6.7 и пытаетесь отсоединить перевод от оригинальной записи, то при выборе Нет в выпадающем списке Это перевод в Редакторе WordPress отсоединение не сохраняется. Вместо этого WPML автоматически отменяет изменения, повторно связывая перевод с оригинальной записью, как только Вы обновите перевод.
Обходное решение
Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия Вашего сайта.
- Откройте файл …/wp-content/plugins/sitepress-multilingual-cms/classes/core-abstract-classes/class-wpml-set-language.php.
- Найдите строку 169.
- Замените:
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( - На:
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(