Después de buscar un par de días y leer hilos de 2 años, tengo dificultades para encontrar una solución al problema de que los usuarios inicien sesión solo por correo electrónico.
Al principio, me encantó ver WP_Email_Login solo para descubrir que aún puedes usar tu nombre de usuario para iniciar sesión. No estoy seguro de cómo escribir esto como un complemento. Mi idea es anular la función register_new_user. No vi esto en la lista de funciones "conectables". ¿Puedo usar filtros / acción para lograr esto?
Me doy cuenta de que no está de moda editar los archivos principales, así que espero que haya una solución, sin embargo, si no existe una, me arriesgaré. En la primera línea de la función "register_new_user" en wp-login.php puedo agregar:
$nickname_variable(??) = $user_login // set the nickname to the username
$user_login = $user_email; // set the user_login/username to the email address
Esto funciona bastante bien ya que WordPress no permite que las personas cambien su nombre de usuario. En la pantalla de registro (formulario) solicita el nombre de usuario y correo electrónico; Me gustaría establecer el Nombre de usuario en la variable Apodo (si alguien me puede decir cómo se llama la variable apodo o dónde se establece durante el registro, eso sería de agradecer).
Salud,
Herrero