Oferta SiteGround Black Friday

Restringir nombres de usuario

segurata

Si alguna vez has instalado WordPress Multisitio una de las opciones que te permite la administración de la red es poder limitar los nombres con los que se pueden registrar los nuevos usuarios. Desafortunadamente esta utilidad no está disponible si no activas la red de sitios WordPress.

Y no es ninguna tontería, pues restringir los nombres y alias de usuario puede impedir equívocos que podrían meterte en algún lío. Solo imagina alguien que se ha registrado con el nombre de usuario admin o webmaster o incluso con tu nombre, y contesta en los comentarios como si fuera tu. Hasta que lo descubras y lo elimines fulminantemente puede meterte en algún pequeño jaleo.

En todos los casos siempre es bueno, en comunidades amplias, que no haya lugar a este tipo de posibles equívocos, evitando el uso de ciertos nombres de usuario.

Esto ha sido así desde años atrás, pues en los foros siempre se ha podido realizar esta limitación, un básico de la administración de comunidades.

Volviendo a WordPress, aunque por defecto no contemple esta posibilidad – salvo que actives Multisitio – es fácil añadirla, como siempre por varios caminos posibles.

:: Restringir nombres de usuario sin plugin ::

Si no quieres instalar ningún plugin puedes crear una función para evitar la creación de ciertos nombres de usuario, que deberás personalizar a tu gusto o necesidades.

Solo tienes que usar la siguiente base y adaptarla a lo que quieras sustituyendo los nombres de ejemplo por los que tu quieras restringir:

//Nombres de usuario prohibidos
function sozot_validate_username($valid, $username) {
    $forbidden = array('admin', 'webmaster', 'Fernando', 'Tellado', 'Editor', 'Administrador', 'Dios', 'SuperAdmin', 'foro', 'foros', 'moderador', 'Hitler', 'Soy la polla', 'Super Administrador', 'bozo', 'Autor', 'Ayuda WordPress', 'https://ayudawp.com');
    $pages = get_pages();
    foreach ($pages as $page) {
        $forbidden[] = $page->post_name;
    }
    if(!$valid || is_user_logged_in() && current_user_can('create_users') ) return $valid;
    $username = strtolower($username);
    if ($valid && strpos( $username, ' ' ) !== false) $valid=false;
    if ($valid && in_array( $username, $forbidden )) $valid=false;
    if ($valid && strlen($username) < 5) $valid=false;
    return $valid;
}
add_filter('validate_username', 'sozot_validate_username', 10, 2);
function sozot_registration_errors($errors) {
    if ( isset( $errors->errors['invalid_username'] ) )
        $errors->errors['invalid_username'][0] = __( 'ERROR: Nombre de usuario no válido, elige otro.', 'sozot' );
    return $errors;
}
add_filter('registration_errors', 'sozot_registration_errors');

Cuando un usuario se intente registrar con alguno de los nombres de usuario de la lista se le mostrará un mensaje de error y tendrá que elegir otro que no esté en la lista negra.

:: Restringir nombres de usuario y alias con plugin ::

El método anterior es efectivo pero ¿y si pudieses definir reglas más exhaustivas?.

En este caso nada menor que el plugin llamado Restrict Usernames.

Una vez activo te ofrece una pantalla de ajustes donde puedes especificar las restricciones que quieras aplicar:

  1. Si los nombres de usuario pueden incluir espacios o no.
  2. Longitud mínima y máxima para los nombres de usuario.
  3. Nombres de usuario exactos que no se pueden usar.
  4. Palabras que no pueden aparecer en los nombres de usuario, de modo que no puedan, por ejemplo, usar Fernando-Admin, para lo que añades en esta lista la palabra Admin de modo que cualquier nombre de usuario que la incluya no estará permitido.
  5. Palabras obligatorias en el nombre de usuario. Justo lo contrario que lo anterior, para cuando quieras que todos los nombres de usuario lleven asociada una palabra, por ejemplo wordpress, de modo que no se permitiría un usuario llamado Pedro pero si uno llamado Pedro_wordpress.

restringir usuarios wordpress

Solo un par de cosas a tener en cuenta. Una es que, por supuesto, debes tener activado el registro de usuarios en «Ajustes -> Generales«, y otra que los cambios que realices no afectan ni a los usuarios ya existentes ni a los usuarios que cree un administrador, quien no tendrá restricción alguna para elegir nombres de usuario.

Vamos, perfecto.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 4

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado. ¡Ah! ¿te funciona? pues entonces no he dicho nada :)

Sobre el autor

1 comentario en “Restringir nombres de usuario”

  1. Muy buen aporte. Sobre todo para la gestión de páginas web con muchos usuarios. Lo veo muy útil. Lo probaré sin duda! Gracias por el aporte!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Scroll al inicio