Eu adoraria poder usar espaços em nomes de usuários, mas isso não parece possível. Existe um write-up no códice ou em algum lugar que explica quais caracteres são permitidos e por que ele foi restrito a esse conjunto ou é apenas alfas somente e sugam isso?
Se eu quiser que os usuários usem algo diferente de um nome de usuário sem espaços, minha única opção real é um plugin que permite aos usuários fazer o login com seus endereços de e-mail, mas ainda requer um nome de usuário alfa somente na criação da conta?
Ah, e eu estou em um site WPMU / rede.
Você pode usar espaços em nomes de usuários, sem problemas. Vários usuários no wordpress.org têm espaços em seus nomes de usuários.
O modo estrito só permite esses caracteres: a-z0-9
No entanto, o WP não é padrão para o modo estrito.
Agora, o multisite tem restrições diferentes, e pode retirar espaços lá. Isso ocorre porque os nomes de usuários são usados para criar blogs independentes e, por exemplo, em instalações multisite.
Eu não acho que haja documentação oficial sobre isso, mas você pode dar uma olhada na function sanitize_user
em 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 ); }
Você poderia se conectar a essa function e replace o comportamento padrão pelo seu.