WP 3.8 Couleur administrateur par défaut pour tous les utilisateurs

10

Je suis surpris du nouveau jeu de couleurs pour 3.8 et bien que le thème 3.7 ait disparu, je souhaite définir le nouveau jeu de couleurs "Clair" comme réglage par défaut pour tous les utilisateurs, tout en leur permettant néanmoins changer le thème s'ils le souhaitent, dans leur profil utilisateur.

Quelqu'un at-il réussi à créer une fonction permettant de définir la valeur par défaut pour tous les utilisateurs? J'ai cherché mais je ne trouve rien car c'est tellement nouveau, le codex 3.8 n'est pas entièrement écrit.

    
posée Sol 16.12.2013 - 22:12

1 réponse

14

Vous pouvez définir (en termes de force) une couleur par défaut dans functions.php comme ceci:

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

Mise à jour: les jeux de couleurs suivants sont disponibles par défaut sur WP 3.8

  • frais
  • lumière
  • bleu
  • café
  • ectoplasme
  • minuit
  • océan
  • sunrise

Bonus (disponible sur wpmudev ): désactivez les options de jeu de couleurs administrateur pour vous assurer que les utilisateurs ne peuvent pas revenir à une autre couleur:

remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

Mise à jour 2: comme Rarst l'a souligné, le filtre ci-dessus va forcer un jeu de couleurs spécifique au lieu de définir une valeur par défaut modifiable. La solution consiste à exécuter une action une seule fois (par exemple lors de la configuration / de l’enregistrement de l’utilisateur) afin que l’utilisateur puisse ensuite décider et changer la couleur de son propre chef:

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

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

}

Mise à jour 3: d'accord, essayez encore une fois:)

L'idée est d'ajouter des métadonnées utilisateur supplémentaires (voir custom_admin_color_scheme ) dès que l'utilisateur met à jour le profil. tant que le champ n'est pas défini sur true , nous allons changer le jeu de couleurs par défaut de l'administrateur en un jeu de couleurs de notre choix:

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

}

Mise à jour 4: Il existe enfin un très bon plugin sur wordpress.org pour gérer facilement les schémas de couleurs par défaut de l'administrateur: Jeu de couleurs administrateur par défaut

    
réponse donnée Sven 16.12.2013 - 22:29

Lire d'autres questions sur les étiquettes