説明
sanitize_user() は、ユーザー名として使えない文字を取り除く関数です。
基本構文
sanitize_user( string $username, bool $strict = false ): string
引数
$username:ユーザー名$strict:厳密にするか
戻り値
サニタイズ済みの文字列。
使い方(サンプル)
$login = sanitize_user( $input, true );
注意点
- 厳密モードを有効にすると、半角英数字と一部の記号に限定されます。
実務での使いどころ
- ユーザー名(ログイン名)を、使える文字だけに整えるとき。
よくあるミスと対処
- 整えただけで、ユーザー名として有効だと考えている。登録できるかは、別に確認する(
validate_username()や、重複の確認)。 $strictをtrueにしておらず、使える文字が広い。厳しくしたいときは、trueを指定する。
NG例
$name = sanitize_user( $_POST['name'] ); // unslash もなく、使える文字も広い
OK例
$name = sanitize_user( wp_unslash( $_POST['name'] ), true );
使い分け早見表
| 関数 | 役割 |
|---|---|
sanitize_user() |
ユーザー名を、整える |
username_exists() |
ユーザー名が、すでに使われているか確認する |
wp_create_user() |
ユーザーを作る |
関連項目
username_exists()、sanitize_text_field()
公式リファレンス:sanitize_user() | Function | WordPress Developer Resources

コメント