Gravity Forms注册后自动登录失效问题排查
Gravity Forms 5.1版本注册后自动登录失效问题
- 站点核心需求:以获客为目标,用户必须注册才能下载手册等数字资源
- 问题现象:此前通过自定义代码实现Gravity Forms注册后自动登录,升级至5.1版本后功能失效,用户注册后会跳转回登录页,体验极差
原自动登录代码:
// Auto login registered users via Gravity Forms add_action( 'gform_user_registered', 'wpc_gravity_registration_autologin', 10, 4 ); /** * Auto login after registration. */ function wpc_gravity_registration_autologin( $user_id, $user_config, $entry, $password ) { $user = get_userdata( $user_id ); $user_login = $user->user_login; $user_password = $password; $user->set_role(get_option('default_role', 'subscriber')); wp_signon( array( 'user_login' => $user_login, 'user_password' => $user_password, 'remember' => true ) ); }
根据Gravity Forms官方说明,5.1版本默认将feed处理迁移至后台,导致自动登录功能因用户不在当前请求上下文而失效。按照官方文档添加禁用后台feed处理的代码后,问题仍未解决,新增代码如下:
// New auto login code add_filter( 'gform_is_feed_asynchronous', function ( $is_asynchronous, $feed ) { if ( ! $is_asynchronous || rgar( $feed, 'addon_slug' ) !== 'gravityformsuserregistration' ) { return $is_asynchronous; } return gf_user_registration()->is_update_feed( $feed ) ? $is_asynchronous : false; }, 10, 2 );
请问:在激活的子主题functions.php中添加上述代码后,为何仍无法实现注册后自动登录?
内容的提问来源于stack exchange,提问作者steven_leek_glevents
相关产品推荐
相关产品推荐

