WPML
Статус
Открыто
Заявлено для
WPML Multilingual CMS 4.6.13
Теги темы
Bug

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

Произвольные поля со сложными ключами (например, содержащими специальные символы, такие как вертикальная черта |) могут некорректно переводиться в WPML. Это приводит к тому, что переведенные значения сохраняются в виде сериализованных массивов вместо простых строк, вызывая проблемы с отображением переведенных значений произвольных полей.

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

Пожалуйста, перед продолжением убедитесь, что у Вас есть полная резервная копия сайта.


  • Откройте файл …/sitepress-multilingual-cms/classes/translation-jobs/class-wpml-element-translation-package.php.

  • Найдите строку 260.

  • Замените:
    	private function remove_field_name_from_start( $field_name, $field_id_string ) {
    		return preg_replace( '#' . $field_name . '-?#', '', $field_id_string, 1 );
    	}

  • На:
    	private function remove_field_name_from_start( $field_name, $field_id_string ) {
    		return preg_replace( '#' . preg_quote($field_name) . '-?#', '', $field_id_string, 1 );
    	}

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