How to Auto Login After Registration in WordPress with core php

后端 未结 3 1184
轻奢々
轻奢々 2020-12-23 11:11

I\'ve been trying for days now to take users who have just registered to my WordPress site and automatically log them in and then redirect them to a URL of my choice. By def

3条回答
  •  旧巷少年郎
    2020-12-23 11:18

    Following is based on how WooCommerce creates a new user and logs him in:

    $user_pass = esc_attr( $_POST['account_password'] );
    
    $new_user_data = array(
        'user_login' => $_POST['account_username'],
        'user_pass'  => $user_pass,
        'user_email' => $_POST['account_email'],
        'role'       => 'subscriber'
    );
    
    $user_id = wp_insert_user( $new_user_data );
    
    // Set the global user object
    $current_user = get_user_by( 'id', $user_id );
    
    // set the WP login cookie
    $secure_cookie = is_ssl() ? true : false;
    wp_set_auth_cookie( $user_id, true, $secure_cookie );
    

    to redirect use wp_safe_redirect, e.g.

    wp_safe_redirect( home_url( '/' ) );
    exit;
    

提交回复
热议问题