BuddyPress: Username Rules on the Sign-Up Form
Requires BuddyPress usernames to be at least a few characters long and not just numbers, giving members a clear error message on the sign-up form.
Opens WPIDE on
Code
if ( ! function_exists( 'buddypress' ) ) {
return;
}
$wpide_bp_username_min = 5;
add_filter( 'bp_core_validate_user_signup', function ( $result ) use ( $wpide_bp_username_min ) {
if ( empty( $result['user_name'] ) || ! isset( $result['errors'] ) || ! is_wp_error( $result['errors'] ) ) {
return $result;
}
$name = $result['user_name'];
if ( strlen( $name ) < $wpide_bp_username_min ) {
$result['errors']->add( 'user_name', sprintf( 'Usernames must be at least %d characters long.', $wpide_bp_username_min ) );
} elseif ( ctype_digit( $name ) ) {
$result['errors']->add( 'user_name', 'Usernames must contain at least one letter.' );
}
return $result;
} );
Notes
BuddyPress already limits usernames to letters and numbers; this adds length and "not only digits" checks.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.