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 );
    	}

すべての既知の問題 →