username_exists()


WordPress関数username_exists()は、指定されたユーザー名がすでに存在しているかどうかを確認するために使用されます。

シンタックス

username_exists( string $username );
  • $username (string) — チェックするユーザー名を指定します。

例 1: ユーザー名の存在確認

以下のコードは、指定されたユーザー名が存在するかどうかを確認します。

<?php
if ( username_exists( 'exampleuser' ) ) {
    echo 'このユーザー名はすでに存在します。';
} else {
    echo 'このユーザー名は利用可能です。';
}
?>

例 2: 新規ユーザー作成時の確認

ユーザー名がすでに存在する場合に新規登録を防ぐ方法を示します。

<?php
$username = 'newuser';
if ( username_exists( $username ) ) {
    echo 'このユーザー名は使用できません。';
} else {
    wp_create_user( $username, 'securepassword123', 'user@example.com' );
    echo '新しいユーザーが作成されました。';
}
?>

例 3: フォーム入力のバリデーション

フォームから入力されたユーザー名が使用可能かどうかをチェックする例です。

<?php
if ( isset( $_POST['username'] ) ) {
    $username = sanitize_text_field( $_POST['username'] );
    if ( username_exists( $username ) ) {
        echo 'このユーザー名はすでに使用されています。別の名前を選択してください。';
    } else {
        echo 'このユーザー名は利用可能です。';
    }
}
?>

例 4: ユーザー登録時のエラーメッセージ表示

既存のユーザー名を入力した場合にエラーメッセージを表示します。

<?php
function register_user( $username, $password, $email ) {
    if ( username_exists( $username ) ) {
        return 'エラー: ユーザー名がすでに存在します。';
    } else {
        wp_create_user( $username, $password, $email );
        return '登録が完了しました。';
    }
}
echo register_user( 'testuser', 'password123', 'test@example.com' );
?>

注意事項

  • username_exists()は、ユーザー名がデータベースに存在するかどうかを確認しますが、ユーザー名のフォーマットや安全性をチェックするわけではありません。
  • 入力されたデータをsanitize_text_field()esc_html()でサニタイズすることをお勧めします。
  • この関数は、ユーザー登録や認証のロジックを補完するために利用してください。

関連機能: