ワードプレスでプログラム経由でユーザーを強制的にログインさせる方法について解説いたします。何らかの会員登録システムとワードプレスを連携する場合などに使用できるかと存じます。
ワードプレスでPHPプログラム経由でユーザーを追加し、そのユーザーをログイン状態にする
ワードプレスでユーザーをプログラム経由で追加するPHPコードは下記のようになります。
$userlogin="半角英数のユーザーログインID"; $password="半角英数のパスワード"; $useremail="追加するユーザーのメールアドレス"; $user_id = wp_create_user($userlogin, $password, $useremail); $user_id_role = new WP_User($user_id); $user_id_role->set_role('subscriber');
wp_create_user関数を使い、ユーザーログインID・半角英数のパスワード・追加するユーザーのメールアドレスを指定して簡単にPHPプログラム経由でユーザーを追加可能です。
set_roleでユーザーの権限を指定します。
ユーザーの権限には下記のようなものがあります。
編集者 (スラッグ: ‘editor’) – 他のユーザーの投稿を含む投稿の公開と管理ができる人。
投稿者 (slug: ‘author’) – 自分の投稿を公開・管理できる人。
寄稿者 (slug: ‘contributor’) – 自分の投稿を公開することはできないが、投稿を書いたり管理したりすることができる人。
購読者 (スラッグ: ‘subscriber’) – 自分のプロフィールだけを管理できる人。
次にこのユーザーをワードプレスに強制的にログイン状態にします。
$creds=array(); $creds['user_login']=$useremail; $creds['user_password']=$password; $creds['remember']=true;//長時間ログイン状態を維持するか? $user=wp_signon( $creds, false );
wp_signon 関数にログインのメールアドレスと、ユーザーのパスワードの平文を配列に入れて渡します。これでユーザーを強制的にログイン状態にすることができます。
ご参考になりましたら幸いです。
WordPress ワードプレスのPHPコーディング、システム制作のご依頼・ご相談はWPドクターまでお気軽にお送りください