WEB制作者向け無料テーマ「Arkhe」をリリースしました

【WordPress】パスワード不要でユーザー名やID、メールアドレスからログインさせる方法

WordPressにて、ユーザー名やID、メールアドレスだけの情報からログインさせる方法。

そのままログインフォームで使うというより、会員サイトなどで新規ユーザー登録フォームからそのままログインした状態に持っていく場合などで使えるTipsです。

実はWordPressでは、IDさえ分かっていればwp_set_auth_cookie()という関数で簡単にログイン状態にできます。

ユーザーIDが$user_idという変数に代入しているとして、

wp_set_auth_cookie( $user_id, false, is_ssl() );
wp_redirect( 'ログインした状態でリダイレクトさせたいページのURL' );
exit;

とするだけ。

参考:wp_set_auth_cookie

では、ユーザー名やメールアドレスの情報からユーザーIDを取得する方法も紹介しておきます。

$user_data = get_user_by('login', 'ユーザー名');    //ユーザー名からユーザーデータを取得
$user_data = get_user_by('email', 'メールアドレス');  //メールアドレスからユーザーデータを取得

//ユーザーデータが無事に取得できれば
if ( $user_data ) {
  $user_id = $user_data->ID;  //ユーザーIDを取得

  /* ...あとはwp_set_auth_cookie()使うだけ... */

}

このように、get_user_by()を使えば簡単にユーザーIDを取得できます。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA

目次
WordPressテーマ SWELLWordPressテーマ SWELL