WPML
Статус
Решено
Заявлено для
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(

Все известные проблемы →