web-dev-qa-db-fra.com

Comment puis-je forcer les noms d'affichage à être identiques aux noms d'utilisateur?

j'ai besoin d'aide. Mes utilisateurs s'inscrivent sur le site. Ils tapent leur nom d'utilisateur user_login (voir chello) mais le nom complet (voir chello04) n'est pas le même. Il a deux chiffres aléatoires à la fin.

Existe-t-il un moyen de forcer les noms d'affichage à être identiques aux noms d'utilisateur?

 enter image description here 

 enter image description here 

3
csandreas1

Vous pouvez utiliser le filtre wp_pre_insert_user_data .

function wpse_filter_user_data( $data, $update, $id) {
  if( isset( $data[ 'user_login' ] ) ) {
    $data[ 'display_name' ] = $data[ 'user_login' ];
    return $data;
  }
  $user = get_user_by( 'email', $data[ 'user_email' ] );
  $data[ 'display_name' ] = $user->user_login;
  return $data;
}
add_filter( 'wp_pre_insert_user_data', 'wpse_filter_user_data', 10, 3 );

Vous voudrez probablement utiliser Javascript et/ou CSS pour masquer le champ afin d'améliorer l'expérience utilisateur.

$( '.user-display-name-wrap' ).remove();

.user-display-name-wrap {
  display:none;
}
3
Nathan Johnson