validate_username()


WordPressの関数validate_username()は、ユーザー名が適切かどうかを確認するために使用されます。この関数は、主にユーザー登録や編集フォームで利用されます。

構文

validate_username( string $username );

引数の説明:

  • $username (string) — 検証するユーザー名。

注意点:

  • validate_username()は、ユーザー名が適切である場合にtrueを返し、不適切な場合にはfalseを返します。
  • この関数は内部的にWordPressのユーザー名規則を使用して検証を行います。

例1: ユーザー名の検証

以下のコードは、特定のユーザー名が有効かどうかを確認します。

<?php
if ( validate_username( 'example_user' ) ) {
    echo 'ユーザー名は有効です。';
} else {
    echo 'ユーザー名は無効です。';
}
?>

例2: 登録フォームでの使用

次の例では、ユーザー登録フォームにおいてユーザー名の入力を検証します。

<?php
if ( isset( $_POST['username'] ) ) {
    $username = sanitize_text_field( $_POST['username'] );
    if ( validate_username( $username ) ) {
        echo '登録を続けることができます。';
    } else {
        echo '無効なユーザー名です。';
    }
}
?>

例3: Ajaxでの動的検証

以下のコードは、Ajaxリクエストを使用してユーザー名を動的に検証する例です。

<?php
add_action( 'wp_ajax_validate_username', function() {
    $username = sanitize_text_field( $_POST['username'] );
    if ( validate_username( $username ) ) {
        wp_send_json_success( '有効なユーザー名です。' );
    } else {
        wp_send_json_error( '無効なユーザー名です。' );
    }
});
?>

例4: ユーザー編集フォームでの使用

次の例は、管理者がユーザー編集フォームでユーザー名を検証する場合のコードです。

<?php
if ( isset( $_POST['username'] ) && current_user_can( 'edit_users' ) ) {
    $username = sanitize_text_field( $_POST['username'] );
    if ( validate_username( $username ) ) {
        echo 'ユーザー名は有効です。';
    } else {
        echo '無効なユーザー名です。';
    }
}
?>

例5: 無効なユーザー名の処理

無効なユーザー名が検出された場合にエラーメッセージを表示します。

<?php
$username = 'invalid user';
if ( ! validate_username( $username ) ) {
    echo 'このユーザー名は使用できません。';
}
?>

注意事項:

  • ユーザー名は空白や特殊文字を含むことはできません。
  • この関数は、すべての入力値を正規化して検証するため、sanitize_text_field()などのサニタイズ関数と併用することをお勧めします。

関連機能: