WPML
状态
未解决
相关插件/主题
Gravity Forms
主题标签
Compatibility

问题概述

GravityFormsGravityForms Multilingual 插件一起使用时,由于 gravity-forms-multilingual.class.php 文件中的 gform_pre_render 过滤器,表单样式可能会被破坏。该过滤器会从表单包装器中移除 data-form-index 属性,导致 GravityForms 的内联 CSS 被忽略。

临时解决方法

在继续操作之前,请确保对您的站点进行完整的站点备份


  • 打开 …/wp-content/plugins/gravityforms-multilingual/inc/gravity-forms-multilingual.class.php 文件。

  • 找到第 983 行。

  • 替换:
    	public function gform_pre_render( $form ) {
    		return $this->translate( $form );
    	}

  • 替换为:
    // WPML Workaround for compsupp-7774
    	public function gform_pre_render( $form ) {
    		// Preserve the page_instance key if it exists
    		$page_instance = isset( $form['page_instance'] ) ? $form['page_instance'] : null;
    
    		// Translate the form
    		$form =  $this->translate( $form );
    
    		// Reassign the page_instance key after translation
    		if ( $page_instance !== null ) {
    			$form['page_instance'] = $page_instance;
    		}
    
    		return $form;
    	}

所有已知问题 →