2016-11-02 1 views
1

Wordpressのカスタムログインと登録のために、コードをゼロから作成しようとしています。しかし、ログインに成功した後は、管理者としてダッシュボードを見ることができません。カスタムログイン後にダッシュボードが表示されない

これは、ユーザー名とパスワードを確認し、ログイン後のホーム・ページにリダイレクトするために私のコードです:

$username= $_POST["username"]; 
$password= $_POST["password"]; 

$user = get_user_by('login', $username); 
if ($user && wp_check_password($password, $user->data->user_pass, $user->ID)) { 
    $user_data = get_userdata ($user->ID); 

    if ($user_data !== false) { 

     wp_cache_delete ($user_data->ID, 'users'); 
     wp_cache_delete ($user_data->user_login, 'userlogins'); 
     do_action ('user_register', $user_id); 

     wp_clear_auth_cookie(); 
     wp_set_auth_cookie ($user_data->ID, true); 
     do_action ('wp_login', $user_data->user_login, $user_data); 
     wp_redirect (home_url()); 

     exit(); 
    } 
} 

これは私がこれまで安全にそう何ができるかの抽出物です。私はそれについてもっと実験することができません。ロールベースの機能をコーディングする必要があるという提案が必要ですか?

ご迷惑をおかけして申し訳ございません。

答えて

0

ちょっと、なぜあなたはログインするためにカスタムコードを書いていますか?

$creds = array(); 
    $creds['user_login'] = isset($_POST["username"]) ? $_POST["rf_username"] : false; 
    $creds['user_password'] = isset($_POST["password"]) ? $_POST["rf_password"] : false; 
    $creds['remember'] = isset($_POST['cook']) ? $_POST['cook'] : false; 

    if($creds['user_login'] != false || $creds['user_password'] != false){ 
     $autologin_user = wp_signon($creds, false); 
     if (!is_wp_error($autologin_user)) { 
      //Login Success do redirect or whatever 
     } else { 
      echo "Username or password Incorrect"; 
     } 
    }else{ 
     echo "Username or password Missing"; 
    } 

グッドラック

+0

まだそれがあなたの 'site.com内の任意のメッセージを表示しないログイン – neeraj

+0

後にダッシュボードが表示されない:そこ私はここ

wp_signon()がコードでチェックし、ログインを行うように機能します/ wp-admin/'?? –

関連する問題