Cambiar el color por defecto de wp-admin para nuevos usuarios WordPress
La interfaz de administración de WordPress evoluciona. Desde WordPress 3.8 es totalmente responsive y viene con un diseño mas moderno. En el perfil de usuario, cada uno puede elegir entre 8 esquemas de colores para el área de administración, por defecto una gama de grises y azules.
En un proyecto reciente me di cuenta que no era suficiente con que cada usuario pueda elegir la gama de colores que más le guste sino que la gama de colores predeterminada debería coincidir con la gama de colores general del frontend. De esta forma la experiencia del usuario puede mejorar notablemente al reconocer visualmente frontend y backend.
Para cambiar el color predeterminado de la administración de WordPress para los nuevos usuarios añade este código al archivo functions.php de tu tema:
add_action('user_register', 'cyb_set_default_admin_color');
function cyb_set_default_admin_color($user_id) {
$args = array(
'ID' => $user_id,
'admin_color' => 'sunrise'
);
wp_update_user( $args );
}
Lo que hace este código es actualizar los datos del usuario justo después de registrarse asignándole el esquema de color establecido en el parámetro admin_color
. Los posibles valores son:
- fresh (grises y azules predeterminado)
- light (luminoso)
- blue (azul)
- coffee (café)
- ectoplasm (ectoplasma)
- midnight (media noche)
- ocean (océano)
- sunrise (amanecer)
Puedes añadir más esquemas de colores con la función wp_admin_css_color, por ejemplo:
add_action('admin_init', 'cyb_admin_color_schemes');
function cyb_admin_color_schemes() {
wp_admin_css_color(
//key
'cybmeta',
//Nombre que se mostrará
__( 'CybMeta' ),
//URL del archivo CSS con las reglas de estilo
get_template_directory_uri() . '/admin-colors/cybmeta/colors.min.css',
//los cuatro colores que se muestran en la previsualización del perfil de usuario
array( '#aa9d88', '#9ebaa0', '#738e96', '#f2fcff' )
);
}
También hay algún que otro plugin que añade más esquemas de colores preestablecidos a wp-admin. Uno de los más conocidos es Admin Color Schemes.
Cambiar el esquema de color para usuarios existentes
Bastaría con actualizar las preferencias del usuario como hicimos antes pero ahora para todos y cada uno de los usuarios existentes (ejecuta este código una vez y bórralo):
//Obtener todos los usuarios
$users = get_users();
foreach ( $users as $user ) {
$args = array(
'ID' => $user->ID,
'admin_color' => 'sunrise'
);
wp_update_user( $args );
}
Evitar que el usuario cambie de color
Ya sabemos cómo cambiar el color predeterminado del área de administración de WordPress pero esto no impedirá al usuario ir a su perfil y elegir una gama de colores diferente. Esto, en principio, no debería suponer ninguna molestia para nadie, al fin y al cabo el usuario está eligiendo una opción personal que le gusta más y que, por tanto, le hará más agradable su estancia en tu sitio. Pero si quieres evitar que el usuario pueda hacer este cambio, una posible solución es eliminar por completo el selector de color de los perfiles (para que dejarlo si no queremos que el usuario lo utilice, ¿no?):
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
O podemos dejarlo sólo para los administradores:
if ( !current_user_can('manage_options') ) {
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
}
Cómo siempre que escribo, espero que este pequeño tutorial te haya sido de ayuda. Y como soy un poco cotilla, ¿que esquema de colores te gusta más? 😉