- Статус
- Открыто
- Заявлено для
- 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 ); }