web-dev-qa-db-ja.com

マルチサイトの異なるサイトに対する異なるバックエンドカラースキーム

マルチサイトのサイトごとに異なるバックエンドカラースキームを選択することは可能ですか?

サイトAの場合は「Sunrise」、サイトBの場合は「Midnight」です。

ユーザーが設定することが不可能な場合は、プラグインやテーマを介して実施することができますか?

5
Seraphithan

次のコードをfunctions.phpファイルに追加すると、これが管理ヘッダーセクションにフックされ、それに応じて選択したスタイルが一致するサイトに配置されます。

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

これを行うより良い方法は、 "get_user_option_admin_color"フィルタを使用することです。このようにして、質問が求めていたように見える、既に作成された配色を選択できます。

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