En el perfil de cada usuario hay una opción que permite definir cómo nombrarle en el sitio cuando se hace referencia a él: bien con su nombre de usuario, con su nombre y sus apellidos… La opción por omisión es el nombre de usuario.
El problema viene cuando se quiere cambiar este comportamiento por omisión del display_name
para no tener que cambiarlo en cada usuario, y para que nuevos registros contengan ya la opción correcta.
Hay otras opciones que se pueden cambiar mediante un hook, insertando una línea de código en el archivo functions.php
, como deshabilitar el la barra de administración cuando un usuario ha iniciado sesión.
En el caso del display_name
, es algo más tedioso. Desde True Winter Studios proponen una solución un poco aparatosa pero que funciona. Yo no he encontrado nada mejor. La idea es cambiar el valor de la opción display_name
de cada usuario cada vez que haya un nuevo registro, de esta manera nos aseguramos retroactividad.
Introduciendo el siguiente código en el archivo functions.php
nos aseguramos que cada cada vez que haya un registro en nuestro sitio WordPress, el display_name
se cambie del login_name
al nombre y apellidos del usuario.
// On user add, fix all the display names to Firstname Lastname function cleanup_displaynames(){ // Create list of every user $system_users = get_users(); // Loop through entire user list foreach ($system_users as $user){ // Correct any display names that don’t match “Firstname Lastname” if ($user->display_name != get_user_meta($user->ID,'first_name',true) . " " . get_user_meta($user->ID,'last_name',true)) { $pretty_name = get_user_meta($user->ID,'first_name',true) . " " . get_user_meta($user->ID,'last_name',true); wp_update_user( array ('ID' => $user->ID, 'display_name' => $pretty_name) ); } } } add_action('user_register','cleanup_displaynames');