web-dev-qa-db-fra.com

Définissez "Display Name Publicly As .." comme nom d'utilisateur par défaut

Mon site Wordpress affiche actuellement les informations d'identification des utilisateurs par leur prénom et leur nom.

La grande majorité préfère être connue sous son nom d'utilisateur. J'ai demandé comment modifier leur "Nom d'affichage publiquement en tant que" manuellement (c'est-à-dire via leurs paramètres utilisateur), mais cela est loin d'être idéal.

Je voudrais que les nouveaux utilisateurs soient automatiquement indiqués par défaut par leurs noms d'utilisateur. Notez que je souhaite que cela soit reflété dans plusieurs plugins qui font référence à la propriété "Afficher le nom publiquement en tant que".

Comment cela peut-il être fait?

1
CodyBugstein

Si vous le souhaitez pour tous les futurs utilisateurs, connectez-vous à l'événement user_register et mettez-le à jour.

Tirez le WP_User en utilisant get_userdata et wp_update_user info avec le nouveau nom d'affichage.

add_action( 'user_register', 'wpse_20160110_user_register', 10, 1 );

function wpse_20160110_user_register ( $user_id ) {

    // get the user data

    $user_info = get_userdata( $user_id );

    // pick our default display name

    $display_publicly_as = $user_info->user_login;

    // update the display name

    wp_update_user( array ('ID' => $user_id, 'display_name' =>  $display_publicly_as));
}

Si vous souhaitez définir chaque connexion, raccrochez wp_login avec PHP_INT_MAX .

function wpse_20160110_wp_login ( $user_login, $user ) {

    wp_update_user(array('ID' => $user->ID, 'display_name' => $user_login));

}

add_action('wp_login', 'wpse_20160110_wp_login', PHP_INT_MAX, 2);
1
jgraup