WPML
상태
해결됨
유형
버그
보고 대상
Gravity Forms Multilingual 1.6.0
해결된 버전
Gravity Forms Multilingual 1.6.1

문제 개요

If you are using the Gravity Forms User Registration 애드온을 사용 중일 때 새 WordPress 사용자를 추가하려고 하면 다음 오류가 발생합니다:

PHP Fatal error: Uncaught Error: Class ‘GFSignup’ not found in /wp-content/plugins/gravityforms-multilingual/classes/compatibility/user_registration/Hooks.php:46

임시 해결 방법

진행하기 전에 사이트를 전체 백업하세요.


  1. /wp-content/plugins/gravityforms-multilingual/classes/compatibility/user_registration/Hooks.php 파일을 여세요.

  2. 42번째 줄을 찾으세요.

  3. 다음 코드를:
        public function onActivation( $meta, WP_User $user, $update ) {
        	if ( ! $update ) {
        		$key    = rgpost( 'key' ); // From ajax.
        		$key    = $key ?: rgpost( 'item' ); // From form submission.
        		$signup = GFSignup::get( $key );
        		if ( $signup instanceof GFSignup && $signup->meta['email'] === $user->user_email ) {
        			$meta['icl_admin_language'] = $signup->meta['icl_admin_language'];
        			$meta['locale']             = $signup->meta['icl_admin_locale'];
        		}
        	}
        	return $meta;
        }


  4. 다음으로 교체하세요:
        public function onActivation( $meta, WP_User $user, $update ) {
        	if ( ! $update && class_exists( 'GFSignup' ) ) {
        		$key    = rgpost( 'key' ); // From ajax.
        		$key    = $key ?: rgpost( 'item' ); // From form submission.
        		$signup = GFSignup::get( $key );
        		if ( $signup instanceof GFSignup && $signup->meta['email'] === $user->user_email ) {
        			$meta['icl_admin_language'] = $signup->meta['icl_admin_language'];
        			$meta['locale']             = $signup->meta['icl_admin_locale'];
        		}
        	}
        	return $meta;
        }

모든 알려진 문제