WP 3.8 Cor administrativa padrão para todos os usuários

10

Estou surpreso com o novo esquema de cores para 3.8 e, embora o tema clássico 3.7 tenha desaparecido, eu gostaria de definir o novo esquema de cores "Light" como padrão para todos os usuários, mas, ao mesmo tempo, ainda permitir para alterar o tema, se desejar, no perfil do usuário.

Alguém conseguiu criar uma função para definir o padrão para todos os usuários? Eu pesquisei, mas não consigo encontrar nada, pois isso é tão novo, o códice 3.8 não está totalmente escrito.

    
por Sol 16.12.2013 / 22:12

1 resposta

14

Você pode definir (em termos de força) uma cor padrão em functions.php da seguinte forma:

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;
}

Atualização: Os esquemas de cores a seguir estão disponíveis por padrão no WP 3.8

  • fresco
  • luz
  • azul
  • café
  • ectoplasma
  • meia noite
  • oceano
  • nascer do sol

Bônus (encontrado em wpmudev ): desativa as opções de esquema de cores do administrador para garantir que os usuários não possam alternar para outra cor:

remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

Atualização 2: Como Rarst apontou, o filtro acima irá forçar um esquema de cores específico em vez de definir um padrão alterável. A solução para isso é executar uma ação apenas uma vez (por exemplo, na configuração / registro do usuário) para que o usuário possa decidir e alterar a cor por conta própria:

add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
function myplugin_registration_save( $user_id ) {

       update_user_meta($user_id, 'admin_color', 'light');

}

Atualização 3: OK, então mais uma tentativa:)

A idéia é adicionar metadados de usuário extras (veja custom_admin_color_scheme ) assim que o usuário atualizar o perfil; contanto que o campo não esteja definido como true , alteraremos o esquema de cores padrão do administrador para um esquema de cores de nossa escolha:

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

}

Atualização 4: Finalmente, há também um plugin muito legal no wordpress.org para lidar facilmente com os esquemas padrão de administração: Esquema de cores de administração padrão

    
por Sven 16.12.2013 / 22:29