¿Cómo solucionar el problema "esa dirección de correo electrónico ya se ha utilizado" error?

4

El siguiente error puede ocurrir si un registro anterior permanece pendiente con una dirección de correo electrónico conflictiva.

  

Esa dirección de correo electrónico ya ha sido utilizada. Por favor revise su bandeja de entrada para   Un correo electrónico de activación. Estará disponible en un par de días si   no haces nada.

El error de nombre de usuario relacionado se parece a lo siguiente.

  

Ese nombre de usuario está reservado actualmente, pero puede estar disponible en un par de días.

    
pregunta here 22.12.2015 - 21:46

4 respuestas

3
  1. Iniciar sesión como administrador de WordPress
  2. Navega para agregar un nuevo usuario
  3. Marque la casilla para omitir la confirmación por correo electrónico
  4. Agregue el usuario con una dirección de correo electrónico diferente
  5. Edite la dirección de correo electrónico del usuario para el resultado deseado

Para el error de nombre de usuario similar, consulte Cómo puede ¿Anular la reserva de un nombre de usuario pendiente?

El período de tiempo de espera es de 2 días después de un conflicto, y los tickets de trac para aclarar este proceso actualmente existen aquí y aquí .

    
respondido por el here 22.12.2015 - 21:46
1

Para evitar el error "esa dirección de correo electrónico ya se ha utilizado", podemos crear un complemento que omita la verificación. El complemento funcionará en tres partes, utilizando tres ganchos diferentes.

pre_user_login filtra un nombre de usuario una vez que se ha desinfectado. Usaremos este enlace para captar al usuario, de particular interés es el correo electrónico.

pre_user_email filtra el correo electrónico de un usuario antes de crearlo o actualizarlo. Usaremos este enlace para modificar el correo electrónico a algunos caracteres aleatorios.

user_register se inicia inmediatamente después de que se registra un nuevo usuario. Usaremos este enlace para actualizar manualmente el correo electrónico del usuario una vez que se haya registrado.

add_filter( 'pre_user_email', [ new wpse_212671(), 'pre_user_login' ] );
class wpse_212671 {
  protected $user;
  public function pre_user_login( $user ) {
    $this->user = $user;
    if( isset( $user[ 'ID' ] ) || ! get_user_by( 'email', $user[ 'user_email' ] ) {
      return $user;
    }
    add_filter( 'pre_user_email', [ $this, 'pre_user_email' ] );
    add_action( 'user_register',  [ $this, 'user_register' ] );
  }
  public function pre_user_email( $email ) {
    return $this->generate_random_string();
  }
  public function user_register( $user_id ) {
    global $wpdb;
    $table = $wpdb->prefix . 'users';
    $wpdb->query( $wpdb->prepare(
      "UPDATE %s 
      SET user_email = %s
      WHERE user_login = %s", 
      $table,
      $this->user[ 'user_email' ], 
      $this->user[ 'user_login' ]
    ) );
  }
  //* Code slightly modified from http://stackoverflow.com/a/13212994/6077935
  protected function generate_random_string( $length = 40 ) {
    return substr( str_shuffle( str_repeat( 
      $x='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
      ceil( $length / strlen( $x ) )
    ) ), 1, $length );
  }
}
    
respondido por el Nathan Johnson 01.05.2017 - 22:48
0

Cuando agrego un nuevo usuario con una dirección de correo electrónico diferente, aparece el mensaje de error: ese nombre de usuario está reservado actualmente pero puede estar disponible en un par de días.

Para mí, eliminé la fila de la base de datos en la tabla wp_signups donde user_login era igual al nombre de usuario. Esencialmente:

delete from wp_signups where user_login = 'abc';

Luego pude volver a agregar el usuario.

    
respondido por el Marty 01.05.2017 - 21:40
0

Hay un complemento útil llamado "Claves de activación de usuario" que agrega un elemento de menú a la interfaz de usuarios de red:

enlace

Esto permite editar / eliminar / aprobar solicitudes de activación de usuarios y, posteriormente, direcciones de correo electrónico / nombres de usuario reservados.

    
respondido por el jeffmcneill 15.08.2018 - 07:15

Lea otras preguntas en las etiquetas