Вот эта функция позволяет использовать заглавные буквы:
<?php function acl_sanitize_user($username, $raw_username, $strict) { $username = wp_strip_all_tags($raw_username); $username = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '', $username); $username = preg_replace('/&.+?;/', '', $username); if ( $strict ) $username = preg_replace('|[^_a-zA-Z0-9 .\-@_]|i', '', $username); return preg_replace('|\s+|', ' ', $username); } add_filter('sanitize_user', 'acl_sanitize_user', 10, 3); function acl_bp_core_validate_user_signup($result) { $illegal_names = get_site_option('illegal_names'); if ( validate_username($result['user_name']) && !in_array($result['user_name'], (array)$illegal_names) ) { if ( !empty($result['errors']->errors['user_name']) ) { $error_index = array_search(__('Only lowercase letters and numbers allowed', 'buddypress'), $result['errors']->errors['user_name']); if ( isset($error_index) ) { unset($result['errors']->errors['user_name'][$error_index]); sort($result['errors']->errors['user_name']); } } } return $result; } add_filter('bp_core_validate_user_signup', 'acl_bp_core_validate_user_signup'); ?>
Может таким же способом добавить и символы?
Тема сайта - каталог Twitter аккаунтов. Логин при регистрации автоматически определяется как логин Twitter и в последствии используется для вывода данных о блоге (количество читателей, твитов и т.п.). В Twitter разрешен символ _. А запрет на моем сайте не пускает к регистрации пользователей Twitter с логином, например @ins_ua.