- ステータス
- 解決済み
- 報告対象
- Gravity Forms Multilingual 1.6.0
- 解決されたバージョン
- Gravity Forms Multilingual 1.6.1
問題の概要
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
回避策
作業を進める前に、サイトの完全なバックアップを作成してください。
- /wp-content/plugins/gravityforms-multilingual/classes/compatibility/user_registration/Hooks.phpファイルを開きます。
- 42行目を探します。
- 次のコードを:
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; } - 次のように置き換えます:
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; }