Absolument OUI , vous pouvez y parvenir.
Règle 1: WordPress nécessite un nom d'utilisateur. Nous devons fournir un nom d'utilisateur.
Règle 2: ne modifiez pas le code principal de WordPress.
Nous pouvons y parvenir en masquant le champ du nom d'utilisateur, recevoir un e-mail et le stocker sous le nom d'utilisateur.
Étape 1: supprimer le champ de texte Nom d'utilisateur
add_action('login_head', function(){
?>
<style>
#registerform > p:first-child{
display:none;
}
</style>
<script type="text/javascript" src="<?php echo site_url('/wp-includes/js/jquery/jquery.js'); ?>"></script>
<script type="text/javascript">
jQuery(document).ready(function($){
$('#registerform > p:first-child').css('display', 'none');
});
</script>
<?php
});
Étape 2: Supprimer l'erreur de nom d'utilisateur
//Remove error for username, only show error for email only.
add_filter('registration_errors', function($wp_error, $sanitized_user_login, $user_email){
if(isset($wp_error->errors['empty_username'])){
unset($wp_error->errors['empty_username']);
}
if(isset($wp_error->errors['username_exists'])){
unset($wp_error->errors['username_exists']);
}
return $wp_error;
}, 10, 3);
Étape 3: Manipuler la fonctionnalité d'enregistrement d'arrière-plan.
add_action('login_form_register', function(){
if(isset($_POST['user_login']) && isset($_POST['user_email']) && !empty($_POST['user_email'])){
$_POST['user_login'] = $_POST['user_email'];
}
});
Mettez le code ci-dessus dans le fichier functions.php de votre thème .
Vous pouvez également télécharger un plugin complet pour y parvenir.
Plugin: https://wordpress.org/plugins/smart-wp-login/