简体   繁体   English

注册后自动登录wordpress

[英]wordpress auto login after registration

I have this code under my registration form, it doesn't redirect to the profile page, Note: redux_demo['profile'] contains the link to the profile page. 我在我的注册表单下有这个代码,它没有重定向到个人资料页面,注意:redux_demo ['profile']包含个人资料页面的链接。

if ($_POST['answer'] == $_POST['answer-hidden']) {
  $user_name = $wpdb->escape($_POST['username']);
  $user_email = $wpdb->escape($_POST['email']);
  $password = $wpdb->escape($_POST['pwd']);
  $confirm_password = $wpdb->escape($_POST['confirm']);
  $user_id = username_exists( $user_name );

  if (!$user_id and email_exists($user_email) == false and !empty($user_email) and !empty($user_name) and is_email($user_email)) {
    $user_id = wp_create_user( $user_name, $password, $user_email );
    $from = get_option('admin_email');
    $headers = 'From: '.$from . "\r\n";
    $subject = "Registration successful";
    $msg = "Registration successful \n Your login details \n Username: $user_name \n Password: $password \n $login";
    $headers2 = 'From: '.$user_email . "\r\n";
    $subject2 = "New user register on your website.";
    $msg2 = "New user register on your website \n User details are \n Username: $user_name \n Email: $user_email";
    wp_mail( $user_email, $subject, $msg,  $headers);
    wp_mail( $from, $subject2, $msg2,  $headers2);
    $login_data = array();
    $login_data['user_login'] = $user_name;
    $login_data['user_password'] = $password;
    $user_verify = wp_signon( $login_data, false );

    // wp_signon is a wordpress function which authenticates a user. It accepts user info parameters as an array.
    if (isset($_POST['op-register'])) {
      if ($_POST['submit'] == 'Register') {
        if (is_wp_error($user_verify)) {
            $UserError = __('Invalid username or password. Please try again!','agrg');  
        } else {
            echo $profile;
            global $redux_demo;
            $profile = $redux_demo['profile'];
            wp_redirect( $profile );

        }
      }
    }
  }
}

remove echo $profile; 删除echo $ profile; before wp_redirect( $profile ); 在wp_redirect之前($ profile);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM