Existe-t-il un moyen de forcer tous les noms d'affichage des utilisateurs à être Firstname Lastname
ou de remplacer ce nom par défaut?
Ceci est défini lors de l'enregistrement de l'utilisateur. Vous pouvez modifier la valeur par filtre 'user_register'
.
Exemple de code, non testé:
/* Plugin Name: First name plus last name as default display name. */
add_action( 'user_register', 'wpse_67444_first_last_display_name' );
function wpse_67444_first_last_display_name( $user_id )
{
$data = get_userdata( $user_id );
// check if these data are available in your real code!
wp_update_user(
array (
'ID' => $user_id,
'display_name' => "$data->first_name $data->last_name"
)
);
}
Une meilleure solution consiste à mettre à jour le nom d'affichage chaque fois que l'utilisateur est mis à jour. Je recourt à ce vieux fil parce que je ne peux trouver cette solution nulle part.
/* First name as default display name. */
add_action( 'profile_update', 'set_display_name', 10 );
function set_display_name( $user_id ) {
$data = get_userdata( $user_id );
if($data->first_name) {
remove_action( 'profile_update', 'set_display_name', 10 ); // profile_update is called by wp_update_user, so we need to remove it before call, to avoid infinite recursion
wp_update_user(
array (
'ID' => $user_id,
'display_name' => "$data->first_name"
)
);
add_action( 'profile_update', 'set_display_name', 10 );
}
}