Тема Мультисайт Wordpress

Привет, я хочу использовать другую цветовую схему для отдельных дочерних сайтов в моей многосайтовой настройке в WordPress.

Есть несколько вариантов, которые не являются прямыми. Я пробовал: https://www.orionorigin.com/tutorials-and-snippets/define-wordpress-color-scheme-set-default-users/ — это только на основе пользователя.

https://wordpress.stackexchange.com/questions/152231/разная-задняя-конечная-цветовая-схема-для-разных-сайтов-многосайтов — это вы должны определить все свои css.

Я хочу иметь возможность просто вызывать цветовую тему по умолчанию на основе blog_id. Не знаете, как это сделать? спасибо

add_filter( 'get_user_option_admin_color', function( $color_scheme ) {
  if($blog_id == 3) {
    return "light";
  } elseif($blog_id == 7){
    return "midnight";
  } else {
    return "sunrise";
  }
}

person roshambo    schedule 29.08.2017    source источник
comment
Но как вы хотите применить эти цветовые схемы? Присвоить класс телу и применить правила в зависимости от этого класса?   -  person Miguel Morera    schedule 29.08.2017


Ответы (1)


Итак, я проделал грязную работу, добавив еще несколько стилей на основе этого ответа разные-сайты-мультисайтов">https://wordpress.stackexchange.com/questions/152231/разные-задние-концы-цветовой-схемы-для-разных-сайтов-мультисайтов. CSS можно еще улучшить... но пока все в порядке. Он по-прежнему не решает, как вернуть темы администратора WordPress по умолчанию, поэтому вам не нужно делать так много работы с CSS.

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 == 7) {
    $color = '#62009a';
    $color2 = '#230037';
    $color3 = '#560088';
    $color4 = '#ffffff';
  } elseif ($blog_id == 3) {
     $color = '#a1c900';
     $color2 = '#627a00';
     $color3 = '#2c3700';
     $color4 = '#ffffff';
  } elseif ($blog_id == 4) {
     $color = '#8c0021';
     $color2 = '#530014';
     $color3 = '#bc002c';
     $color4 = '#ffffff';
  } else {
     $color = '#1d2427';
  }
  $custom_css = "<style> #wpadminbar, #adminmenuwrap,#adminmenu,#adminmenu .wp-submenu,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary,#wpadminbar .menupop .ab-sub-wrapper { background: $color!important }
                #wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item, #adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,#adminmenu .wp-has-current-submenu .wp-submenu,#adminmenu li.opensub > a.menu-top,#wpadminbar .quicklinks .menupop ul.ab-sub-secondary .ab-submenu { color:$color4; background: $color2 }
                #adminmenu li.menu-top:hover{ background: $color3 }
                #adminmenu .wp-submenu a:hover, #adminmenu a:hover, #wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop .ab-sub-secondary>li>a:hover,#wpadminbar .quicklinks .menupop ul li a:focus { color: $color4!important; } </style>";
  wp_add_inline_style( 'custom-style', $custom_css );
}
person roshambo    schedule 29.08.2017