Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo cambiar el valor por defecto del nombre de usuario a mostrar públicamente en WordPress

Imago voragine.net

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');

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks