注册Gravity Form后激活并登录用户

时间:2017-11-09 03:26:43

标签: wordpress gravity-forms-plugin

我想在我的网站上注册后使用gravityform自动激活并登录用户吗?

。我做了一些研究,目前有些指南已经过时了。我尝试了这段代码,目前无法正常工作

lxml

2 个答案:

答案 0 :(得分:0)

你试过这个吗?

function pi_gravity_registration_autologin( $user_id, $user_config, $entry, $password ) {

    $user = get_userdata( $user_id );
    $user_login = $user->user_login;
    $user_password = $password;

    wp_signon( array(
        'user_login' => $user_login,
        'user_password' =>  $user_password,
        'remember' => false
    ), false );

    wp_set_current_user( $user_id, $user_login );
    wp_set_auth_cookie( $user_id, true, false );
    do_action( 'wp_login', $user_login );
}

答案 1 :(得分:0)

这是我的Gravity Forms Auto Login插件中代码的修改版本,用于处理此问题。

add_action( 'gform_user_registered', 'gw_auto_login', 10, 4 );
function gw_auto_login( $user_id, $feed, $entry, $password ) {

    $user = new WP_User( $user_id );
    $user_data = array(
        'user_login'     => $user->user_login,
        'user_password'    => $password,
        'remember'        => false
    );

    $result = wp_signon( $user_data );

    if( ! is_wp_error( $result ) ) {
        global $current_user;
        $current_user = $result;
    }

}

该插件解释了许多其他可能会干扰自动登录用户的Gravity Forms方案。