WPML
状态
已解决
报告针对
Ninja Forms Multilingual 0.3.0
解决于
Ninja Forms Multilingual 0.3.1
相关插件/主题
Ninja Forms
主题标签
Compatibility

问题概述

在使用 Ninja Forms 及其可重复字段功能时,您可能会遇到翻译问题。尽管可以使用 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 ) );
    	}
    }

所有已知问题 →