【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()

IT起業アカデミア