- ステータス
- 解決済み
- 報告対象
- Ninja Forms Multilingual 0.3.0
- 解決されたバージョン
- Ninja Forms Multilingual 0.3.1
- 関連するプラグイン/テーマ
- Ninja Forms
- トピックタグ
- Compatibility
問題の概要
Ninja FormsとそのRepeatable Fields機能を使用する場合、翻訳に関する問題が発生することがあります。WPML文字列翻訳を使用してフィールドを翻訳することは可能ですが、親リピーターフィールドのラベルを翻訳すると、サブフィールドの翻訳が上書きされます。
回避策
続行する前に、必ずサイトの完全なバックアップを作成してください。
- …/wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.phpファイルを開きます。
- 62行目を探します。
- 次のコードを:
if ( $this->getFormId() && $this->notEmpty( 'settings', $field ) && $this->notEmpty( 'type', $field['settings'] ) && $this->isTranslatableFieldType( $field['settings']['type'] ) ) { $field['settings'] = $this->getPackage()->translateField( $field['settings'], $this->getId( $field ) ); }以下に置き換えます:if ( $this->getFormId() && $this->notEmpty( 'settings', $field ) && $this->notEmpty( 'type', $field['settings'] ) && $this->isTranslatableFieldType( $field['settings']['type'] ) ) { if (! array_key_exists('repeaterField', $field['settings'] ) && $field['settings']['repeaterField'] != true ) { $field['settings'] = $this->getPackage()->translateField( $field['settings'], $this->getId( $field ) ); } }