Un client avec cinq comptes administrateurs différents nous a un jour envoyé une capture d’écran totalement méconnaissable, avec un schéma de couleurs sombre inversé qu’aucun de nos développeurs n’avait jamais configuré ni même vu auparavant sur ce site. Chaque utilisateur WordPress peut en effet choisir librement, dans son propre profil, un schéma de couleurs parmi huit propositions natives, ce qui complique sérieusement le support technique à distance : deux personnes décrivant le même écran ne voient tout simplement pas la même chose.
Pour une équipe qui veut garder une présentation cohérente, ou simplement éviter la confusion, il est possible de forcer un schéma unique pour tous les comptes, via le filtre get_user_option_admin_color.
Le mécanisme de choix du schéma de couleurs
Le schéma de couleurs choisi par un utilisateur est stocké comme une option utilisateur classique, récupérée par WordPress via get_user_option( 'admin_color', $user_id ). Comme toute fonction de récupération d’option WordPress, elle passe par un filtre dynamique nommé selon le motif get_user_option_{option}, ici get_user_option_admin_color.
Forcer un schéma pour tout le monde

function ag_forcer_schema_couleurs() {
return 'modern';
}
add_filter( 'get_user_option_admin_color', 'ag_forcer_schema_couleurs' );
Ce filtre, aussi court soit-il, s’applique immédiatement à tous les comptes du site, y compris les nouveaux comptes créés ultérieurement, sans jamais modifier la valeur réellement enregistrée en base de données : chaque utilisateur retrouve son propre choix si le filtre est retiré plus tard.
Retirer le sélecteur de l’écran de profil
Forcer la valeur ne suffit pas seul : sans intervention supplémentaire, le sélecteur reste visible dans l’écran de profil de chaque utilisateur, qui peut croire avoir changé quelque chose alors que le filtre l’ignore silencieusement. Mieux vaut masquer entièrement ce choix pour éviter la confusion :
function ag_masquer_selecteur_schema( $options ) {
return array(); // aucun schéma proposé au choix
}
add_filter( 'get_user_option_admin_color', 'ag_forcer_schema_couleurs' );
add_action( 'admin_head-profile.php', function() {
echo '<style>.user-admin-color-wrap { display: none; }</style>';
} );
La règle CSS masque simplement le bloc de sélection dans l’interface, ce qui reste une solution d’affichage plutôt qu’une suppression réelle de l’option côté serveur, largement suffisante pour cet usage.
Les schémas natifs disponibles
| Identifiant | Nom affiché |
|---|---|
fresh | Par défaut |
light | Léger |
modern | Moderne |
blue | Bleu |
coffee | Café |
ectoplasm | Ectoplasme |
midnight | Minuit |
ocean | Océan |
sunrise | Lever de soleil |
Le schéma modern, introduit avec WordPress 5.9, reste un choix pertinent en 2022 pour une équipe qui veut un rendu plus actuel que le schéma fresh par défaut, sans pour autant s’aventurer vers les teintes plus marquées comme ectoplasm.
Pourquoi ce détail compte vraiment
- Deux personnes décrivant le même problème sur une capture d’écran identique gagnent un temps précieux en support.
- La documentation interne d’un projet, avec ses propres captures d’écran, reste valable dans le temps si le schéma ne change jamais d’un compte à l’autre.
- Un client qui découvre un schéma sombre par accident, sans savoir comment revenir en arrière, ouvre systématiquement un ticket de support évitable.
Adapter la démarche à un schéma personnalisé de marque
Pour une agence qui souhaite aller plus loin qu’un simple choix parmi les huit schémas natifs, WordPress permet d’enregistrer un schéma entièrement personnalisé via wp_admin_css_color(), avec sa propre palette de couleurs, avant de le forcer exactement de la même manière :
function ag_enregistrer_schema_maison() {
wp_admin_css_color(
'agence-maison',
'Agence Maison',
get_stylesheet_directory_uri() . '/assets/css/admin-agence.css',
array( '#1d2327', '#2c3338', '#2271b1', '#d63638' )
);
}
add_action( 'admin_init', 'ag_enregistrer_schema_maison' );
function ag_forcer_schema_maison() {
return 'agence-maison';
}
add_filter( 'get_user_option_admin_color', 'ag_forcer_schema_maison' );
Le tableau de couleurs fourni en dernier argument sert uniquement à l’aperçu miniature affiché dans l’écran de profil ; l’essentiel du rendu réel provient du fichier CSS référencé, qui doit reprendre les mêmes sélecteurs que les schémas natifs pour un résultat cohérent sur l’ensemble des écrans d’administration.
Cette option demande un peu plus de travail qu’un simple choix parmi la liste existante, mais elle permet d’aligner précisément les couleurs de l’administration sur la charte graphique du client, jusque dans les boutons et les liens actifs du menu.
Ce filtre ne coûte rien à mettre en place et évite un nombre surprenant de tickets de support dont l’origine réelle n’est jamais un bug, mais un simple réglage personnel oublié.
En résumé
Le filtre get_user_option_admin_color permet d’imposer un schéma de couleurs cohérent à toute une équipe en une seule fonction, sans toucher aux données stockées individuellement. Cette uniformisation reste indépendante du contenu affiché sur le tableau de bord lui-même, dont la personnalisation relève d’un sujet distinct déjà traité par ailleurs.