【WordPress】メールアドレスからユーザーIDを取得する
業務で会員向けサイトを作っているのですが、ユーザーのメールアドレスからユーザーIDを取得したくなりました。
なんか上手い方法は無いものかと検索をかけてみたところ、get_user_id_from_stringという関数が引っかかりました。
参考:get_user_id_from_string()
マルチサイト向けの関数のようで、WordPressディレクトリ以下の「/wp-includes/ms-functions.php」を読みこむ事で利用出来ます。
require_once('/サーバの内部パス/wp-includes/ms-functions.php');
上記のファイルを読み込んだ後、以下の様に記述すればメールアドレスからユーザーIDを引っ張ることが出来ます。
$useremail = 'user@example.com'; $userid = get_user_id_from_string( $useremail ); echo $userid;
実際に利用する際には、参考先のCodexと同様にユーザーが存在するかどうかチェックした方が良さそう。
また、用途は違いますが、WordPress標準の関数である email_exists() を使っても同様の事が可能です。
$useremail = 'user@example.com'; $userid = email_exists( $useremail ); echo $userid;
email_exists() を使えばユーザーが存在する場合にはユーザーIDが返され、存在しない場合にはfalseが返されるので、こっちの方がスマートかもしれません。
参考:email_exists()