sanitize_user() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました