WPML
Статус
Решено
Заявлено для
WPML Multilingual CMS 3.2.2
Решено в
3.2.3

Обзор проблемы

При попытке установить значение «-Нет-» для параметра «Это перевод» у записи изменение не сохраняется. Изменить его можно только на другую запись.

Обходное решение

Выполните следующие действия:

  1. Найдите функцию «save_post_actions» в файле «inc/post-translation/wpml-admin-post-actions.class.php».
  2. Найдите следующий блок кода:
    $trid = isset( $trid ) && $trid ? $trid : $this->get_save_post_trid ( $post_id, $post->post_status );
    // after getting the right trid set the source language from it by referring to the root translation
    // of this trid, in case no proper source language has been set yet
    $source_language = isset( $source_language ) ? $source_language : $this->get_save_post_source_lang ( $trid, $language_code, $default_language );
    
  3. Замените его на следующий:
    if ( isset( $post_vars[ 'icl_translation_of' ] ) && $post_vars[ 'icl_translation_of' ] == 'none' ) {
    	$trid = null;
    	$source_language = $language_code;
    } else {
    	$trid = isset( $trid ) && $trid ? $trid : $this->get_save_post_trid ( $post_id, $post->post_status );
    	// after getting the right trid set the source language from it by referring to the root translation
    	// of this trid, in case no proper source language has been set yet
    	$source_language = isset( $source_language ) ? $source_language : $this->get_save_post_source_lang ( $trid, $language_code, $default_language );
    }
    

Эта проблема решена в предстоящей новой версии.

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