概要
email_exists
関数は、指定したメールアドレスが既に何らかのユーザーアカウントに登録されているかどうかを確認するために使用されます。この関数は、ユーザー登録やパスワードリセットなどの機能を実装する際によく使われます。以下は、この関数がよく利用される場面の例です:
- ユーザー登録フォームでのメールアドレスの重複チェック
- パスワードリセット機能でのメールアドレスの検証
- 新しいユーザーの招待メールの送信条件確認
- ユーザープロフィールの更新処理
- ショッピングサイトでのアカウント作成時のバリデーション
- メールマガジンの登録時の重複確認
- 社内システムでのユーザー追加時の重複チェック
- SNS連携機能での既存ユーザー確認
構文
$email_exists = email_exists( $email );
パラメータ
$email
(string) – 確認するメールアドレス。
戻り値
- 登録済みの場合は、そのユーザーのIDを返します。メールアドレスが未登録の場合は
false
を返します。
関連する関数
使用可能なバージョン
- WordPress 2.0 以降
コアファイルのパス
wp-includes/user.php
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
非推奨・削除されたバージョン
- 現在のところ、
email_exists
関数は特定のワードプレスバージョンで非推奨または削除されていません。
サンプルコード
サンプルコード1: メールアドレスの確認
$email = 'test@example.com';
if ( email_exists( $email ) ) {
echo 'そのメールアドレスは既に登録されています。';
} else {
echo 'そのメールアドレスは未登録です。';
}
説明: 指定したメールアドレスが登録済みかどうかを確認し、結果を表示します。
サンプルコード2: ユーザー登録時の重複チェック
function register_user( $email, $username, $password ) {
if ( email_exists( $email ) ) {
return 'このメールアドレスはすでに使用されています。';
}
// ユーザーを登録する処理
}
説明: ユーザー登録時にメールアドレスの重複を確認し、既に使用されている場合はエラーメッセージを返します。
サンプルコード3: パスワードリセット機能
function reset_password_request( $email ) {
if ( ! email_exists( $email ) ) {
return 'そのメールアドレスは登録されていません。';
}
// パスワードリセット用リンクを送信する処理
}
説明: パスワードリセットを要求する時に入力されたメールアドレスの存在を確認し、未登録の場合はエラーメッセージを表示します。
サンプルコード4: 招待メールの送信
function send_invitation( $email ) {
if ( email_exists( $email ) ) {
return 'このユーザーには既に招待されています。';
}
// 招待メールを送信する処理
}
説明: 招待メールを送信する際に、指定したメールアドレスが既に登録済みかを確認し、既存の場合はエラーメッセージを返します。
サンプルコード5: プロフィール更新
function update_user_profile( $user_id, $new_email ) {
if ( email_exists( $new_email ) && get_user_by('email', $new_email)->ID != $user_id ) {
return 'そのメールアドレスは他のユーザーによって使用されています。';
}
// ユーザープロフィールを更新する処理
}
説明: ユーザープロフィールの更新時に入力された新しいメールアドレスが重複していないか確認し、重複している場合はエラーメッセージを返します。