WPML
Statut
Résolu
Signalé pour
Gravity Forms Multilingual 1.6.0
Résolu dans
Gravity Forms Multilingual 1.6.1

Aperçu de l’anomalie

Si vous utilisez le module complémentaire Gravity Forms User Registration et que vous essayez d’ajouter un nouvel utilisateur WordPress, vous obtiendrez cette erreur :

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

Solution de contournement

Avant de continuer, effectuez une sauvegarde complète de votre site.


  1. Ouvrez le fichier /wp-content/plugins/gravityforms-multilingual/classes/compatibility/user_registration/Hooks.php.

  2. Cherchez la ligne 42.

  3. Remplacez :
        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. Par :
        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;
        }

Toutes les anomalies connues →