web-dev-qa-db-fra.com

Jeu de couleurs différent pour les différents sites d’un multisite

Est-il possible d'avoir un jeu de couleurs différent sélectionné pour les différents sites d'un multisite?

c'est-à-dire "Sunrise" pour le site A et "Minuit" pour le site B

S'il n'est pas possible pour l'utilisateur de le configurer, cela pourrait-il être appliqué via un plugin ou le thème?

5
Seraphithan

Ajoutez à votre fichier functions.php le code suivant, il sera relié à votre section d’en-tête d’administrateur et placera le style que vous avez choisi en conséquence sur le site correspondant.

add_action('admin_enqueue_scripts', 'my_admin_background');

function my_admin_background() {
  wp_enqueue_style(
    'custom-style',
    get_template_directory_uri() . '/css/custom_script.css'
  );
      global $blog_id;
      $color = '';
      if ($blog_id == 1) {
         $color = 'white';
      } elseif ($blog_id == 2) {
         $color = 'red';
      } elseif ($blog_id == 3) {
         $color = 'blue';
      } else {
         $color = 'yellow';
      } 
      $custom_css = "<style> body { background: $color } </style>";
  wp_add_inline_style( 'custom-style', $custom_css );
}
3
elvismdev

Une meilleure méthode consiste à utiliser le filtre "get_user_option admin color". De cette façon, vous pouvez choisir un jeu de couleurs déjà créé, ce à quoi la question semble posée.

add_filter('get_user_option_admin_color', 'change_admin_color');
function change_admin_color($result) {
if(get_current_blog_id() == 2) {
    return "light";
}
else {
    return "midnight";
}
0
Owen Davey