WPML
ステータス
解決済み
報告対象
Ninja Forms Multilingual 0.3.0
解決されたバージョン
Ninja Forms Multilingual 0.3.1
関連するプラグイン/テーマ
Ninja Forms
トピックタグ
Compatibility

問題の概要

Ninja FormsとそのRepeatable Fields機能を使用する場合、翻訳に関する問題が発生することがあります。WPML文字列翻訳を使用してフィールドを翻訳することは可能ですが、親リピーターフィールドのラベルを翻訳すると、サブフィールドの翻訳が上書きされます。

回避策

続行する前に、必ずサイトの完全なバックアップを作成してください。


  1. …/wp-content/plugins/wpml-ninja-forms/classes/Hooks/NinjaForms/Strings.phpファイルを開きます。

  2. 62行目を探します。

  3. 次のコードを:
    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 ) );
    	}
    }

すべての既知の問題 →