自定义注册后,WordPress不登录用户并重定向

时间:2018-08-26 作者:Vijay

I am trying to make custom registration form in my wordpress site , the form is registered successfully but i couldn\'t login the user after registration and redirect to a custom url.

this is the code i have used

<?php
$err = \'\';
$success = \'\';

global $wpdb, $PasswordHash, $current_user, $user_ID;

if(isset($_POST[\'submit\']) ) {
    $pwd1 = $wpdb->escape(trim($_POST[\'pwd1\']));
    $pwd2 = $wpdb->escape(trim($_POST[\'pwd2\']));
    $email = $wpdb->escape(trim($_POST[\'email\']));
    $username = $wpdb->escape(trim($_POST[\'username\']));

    if( $email == "" || $pwd1 == "" || $pwd2 == "" || $username == "") {
        $err = \'Please don\\\'t leave the required fields.\';
    } else if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        $err = \'Invalid email address.\';
    } else if(email_exists($email) ) {
        $err = \'Email already exist.\';
    } else if($pwd1 <> $pwd2 ){
        $err = \'Password do not match.\';
    } else {
        $user_id = wp_insert_user( array (\'user_pass\' => apply_filters(\'pre_user_user_pass\', $pwd1), \'user_login\' => apply_filters(\'pre_user_user_login\', $username), \'user_email\' => apply_filters(\'pre_user_user_email\', $email), \'role\' => \'subscriber\' ) );
        if( is_wp_error($user_id) ) {
            $error_string = $user_id->get_error_message();
            $err = $error_string;
        } else {
            do_action(\'user_register\', $user_id);
            wp_set_current_user($user_id); // set the current wp user
            wp_set_auth_cookie($user_id); // start the cookie for the current registered user
            wp_redirect( get_home_url() ); 

            $success = \'You\\\'re successfully registered\';
        }
    }

}
?>
  • I have tried using javascript for redirecting ,it doesn\'t help.
  • what i\'am missing here?

I want redirect by login the user after registration

1 个回复
SO网友:Castiblanco

您可以将该重定向添加到functions.php, 您必须使用registration_redirect 挂钩:

function wpse_registration_redirect() {
    return home_url( \'/page\' );
}

add_filter( \'registration_redirect\', \'wpse_registration_redirect\' );

结束

相关推荐

search form redirects to home

Update 案件已结案。我忘了我的函数中有kill函数。php将附件、搜索、作者、每日存档页面重定向到主页。删除了用于搜索的部件,效果良好。很抱歉,感谢您的时间和帮助:)我在wordpress中有一个简单的搜索表单<form role=\"search\" method=\"get\" class=\"search-form\" action=\"<?php echo home_url( \'/\' ); ?>\"> <label> <