- ステータス
- 未解決
- 報告対象
- 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 ); }