web-dev-qa-db-fra.com

Supprimer le nom d'utilisateur dans les emails ou échanger le nom d'utilisateur pour l'email

Est-il possible de supprimer toutes les occurrences du nom d'utilisateur dans tous les e-mails WP ou d'échanger notre nom d'utilisateur contre l'adresse e-mail?

J'ai un code dans mon fichier functions.php qui supprime le nom d'utilisateur de l'enregistrement et utilise l'e-mail comme identifiant, mais le nom d'utilisateur est généré de manière aléatoire; cela signifie que tous les courriels qui contiennent un champ de nom d'utilisateur seront envoyés à l'utilisateur : random-string-of-letters , ce que j'essaie de enlever/échanger.

Le code ci-dessous supprime le nom d'utilisateur de l'enregistrement:

add_action( 'bp_core_validate_user_signup', 'custom_validate_user_signup' );

function custom_validate_user_signup($result)
{
  unset($result['errors']->errors['user_name']);

  if(!empty($result['user_email']) && empty($result['errors']->errors['user_email']))
  {
    $result['user_name'] = md5($result['user_email']);
    $_POST['signup_username'] = $result['user_name'];
  }

  return $result;
}
2
vytfla

Je pense que vous avez juste besoin de retirer la md5() de cette ligne:

$result['user_name'] = md5($result['user_email']);

Je ne connais pas très bien Buddy Press, mais si empty($result['errors']->errors['user_email']) est vrai, cela signifie qu'un utilisateur a été enregistré avec succès. J'utiliserais quelque chose comme:

wp_update_user( array( 'ID' => $user_id, 'name' => $result['user_email'] ) );
1
dg4220