0

我试图组合一个 php 页面,该页面将登录用户/或创建用户并登录。我的用户正在创建,但是当我尝试转到页面时,WP 只是将我重定向到实际的登录页面。以下是我无法工作的部分。

if ( !username_exists( $user_login_name ) ) {
    $user_id = wp_create_user( $user_login_name, md5($user_login_name), "" );
    $creds = array();
    $creds['user_login'] = $user_login_name;
    $creds['user_password'] = md5($user_login_name);
    $user = wp_signon( $creds, false );
    wp_set_current_user($user_id);
    if ( is_wp_error($user) )   {
        echo $user->get_error_message();
    }
    wp_set_auth_cookie( $user_id );
} else  {
    $user = get_user_by('login', $user_login_name);
    $user_id = $user->ID;
    $creds = array();
    $creds['user_login'] = $user_login_name;
    $creds['user_password'] = md5($user_login_name);
    $user = wp_signon( $creds, false );
    wp_set_current_user($user_id);
    if ( is_wp_error($user) ){
        echo $user->get_error_message();            
    }
    wp_set_auth_cookie( $user_id );

}

谁能告诉我我做错了什么?我已经设置了 cookie、当前用户等。但仍然不行。

4

1 回答 1

0

将“记住”添加到 $creds 数组:

$creds['remember'] = true;

这应该让您保持登录状态,直到自然 WP 会话到期。

于 2012-06-22T02:10:42.213 回答