- ステータス
- 解決済み
- 報告対象
- WPForms Multilingual 0.4.1
- 解決されたバージョン
- WPForms Multilingual 0.5.0
- トピックタグ
- Compatibility
問題の概要
WPMLおよびWPForms Multilingualアドオンと共にWPFormsを使用する場合、リピーターフィールドを含むフォームでは、通知メールに正しいフィールド名の代わりに誤ったフィールドラベル(例:「Field ID #6_2」)が表示されます。さらに、そのリピーター内にドロップダウンフィールドが含まれている場合、エラーが発生し、通知が送信されなくなります。
回避策
続行する前に、お使いのサイトの完全なサイトバックアップがあることを確認してください。
- …/wp-content/plugins/wpml-wpforms/classes/Hooks/WpForms/Notifications.php ファイルを開きます。
- 行を探します。
- 次を:
foreach ( $fields as $key => &$field ) { $field['name'] = $formPostFields[ $key ]['label']; $entryFields = Obj::propOr( [], 'fields', $entry ); if ( array_key_exists( $key, $entryFields ) ) { $field['value'] = $this->getFieldValue( $field, $entry['fields'][ $key ], $formPostFields[ $key ], $translatedFields[ $key ] ); } } - 次のように置き換えます:
foreach ( $fields as $key => &$field ) { $key = strpos( $key, '_' ) !== false ? substr( $key, 0, strpos( $key, '_' ) ) : $key; $field['name'] = $formPostFields[ $key ]['label']; $entryFields = Obj::propOr( [], 'fields', $entry ); if ( array_key_exists( $key, $entryFields ) ) { $field['value'] = $this->getFieldValue( $field, $entry['fields'][ $key ], $formPostFields[ $key ], $translatedFields[ $key ] ); } }