web-dev-qa-db-fra.com

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

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 de modifier le thème s'ils le souhaitent, dans leur profil d'utilisateur.

Quelqu'un at-il réussi à mettre au point 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 complètement écrit.

10
Sol

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 sous WP 3.8.

  • frais
  • lumière
  • bleu
  • café
  • ectoplasme
  • minuit
  • océan
  • lever du soleil

Bonus (présent 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 l'a souligné Rarst, 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 :)

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 joli plugin sur wordpress.org pour gérer facilement les schémas de couleurs par défaut de l'administrateur: Schéma de couleurs de l'administrateur par défaut

14
Sven