回答:
ユーザー名にスペースを使用できますが、問題ありません。wordpress.orgの一部のユーザーのユーザー名にスペースが含まれています。
厳格モードでは、次の文字のみが許可されます。 a-z0-9<space>_.\-@
ただし、WPはデフォルトでストリクトモードになりません。
現在、マルチサイトにはさまざまな制限があり、スペースが取り除かれている場合があります。これは、マルチサイトインストールでユーザー名を使用して独立したブログなどを作成するためです。
それに関する公式のドキュメントはないと思いますが、以下のsanitize_user
関数を見ることができますwp-includes/formatting.php
:
function sanitize_user( $username, $strict = false ) {
$raw_username = $username;
$username = wp_strip_all_tags( $username );
$username = remove_accents( $username );
// Kill octets
$username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );
$username = preg_replace( '/&.+?;/', '', $username ); // Kill entities
// If strict, reduce to ASCII for max portability.
if ( $strict )
$username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );
$username = trim( $username );
// Consolidate contiguous whitespace
$username = preg_replace( '|\s+|', ' ', $username );
return apply_filters( 'sanitize_user', $username, $raw_username, $strict );
}
その関数にフックして、デフォルトの動作を独自のものでオーバーライドできます。