- 状态
- 未解决
- 报告针对
- 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 ); }