Wordpress - Set Default Admin Colour For All Users
You can set (in terms of force) a default color within functions.php
like this:
add_filter( 'get_user_option_admin_color', 'update_user_option_admin_color', 5 );
function update_user_option_admin_color( $color_scheme ) {
$color_scheme = 'light';
return $color_scheme;
}
Update: The following color schemes are available per default at WP 3.8
- fresh
- light
- blue
- coffee
- ectoplasm
- midnight
- ocean
- sunrise
Bonus (found on wpmudev): Disable the Admin Color Scheme Options to make sure that users can not switch back to another color:
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
Update 2: As Rarst pointed out the filter above will force a specific color scheme instead of setting a changeable default. The solution to this is to run an action only once (e.g. on user setup/registration) so after that the user can decide and change the color on his own:
add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {
update_user_meta($user_id, 'admin_color', 'light');
}
Update 3: Okay, so one more try :)
The idea is to add extra user meta data (see custom_admin_color_scheme
) as soon as the user updates the profile; as long as the field is not set to true
we'll change the default admin color scheme to a color scheme of our choice:
// add custom user meta data
add_action('personal_options_update', 'save_custom_admin_color_optios');
function save_custom_admin_color_optios( $user_id ) {
update_user_meta($user_id, 'custom_admin_color_scheme', true);
}
// change default color scheme if not customized
$customized_color_scheme = get_user_option( 'custom_admin_color_scheme', get_current_user_id() );
if ( empty($customized_color_scheme) ) {
update_user_meta(get_current_user_id(), 'admin_color', 'light');
}
Update 4: Finally there is also a very nice plugin on wordpress.org to handle default admin color schemes easily: Default Admin Color Scheme