WordPress では、ユーザーごとに管理画面の配色(管理カラースキーム)を選択できます。しかし、運用体制によっては「権限ごとに管理画面の配色を固定したい」「誤操作を防ぐために、ユーザー個人で変更できないようにしたい」というケースがあります。
本記事では、ユーザー権限(ロール)ごとに管理画面の配色を強制する方法を、実際に使えるコード例とともに解説します。
なぜ権限ごとに配色を固定するのか
複数のスタッフが関わるサイト運用では、権限によって管理画面の表示・操作が異なります。
- 管理者はフル機能が必要
- 編集者は記事管理中心
- 投稿者は記事作成に集中
- カスタムロールで担当業務を制限している場合もある
このような状況では、権限ごとに配色を変えて視覚的に役割を区別することで、次のメリットがあります。
- 自分の権限をひと目で把握できる
- 誤操作を減らせる(特に複数サイト運用時)
- 統一された運用ルールを構築しやすい
権限ごとに配色を固定するコード
WordPress には get_user_option_admin_color フィルターが用意されており、これを利用するとユーザーの配色を強制できます。
以下のコードを functions.php または独自プラグインに追加してください。
/**
* ロールごとに管理画面の配色を固定する
*/
add_filter('get_user_option_admin_color', function ($color, $user_id) {
$user = get_userdata($user_id);
if (!$user) {
return $color;
}
$roles = (array) $user->roles;
// 管理者
if (in_array('administrator', $roles, true)) {
return 'fresh';
}
// 編集者
if (in_array('editor', $roles, true)) {
return 'midnight';
}
// 投稿者
if (in_array('author', $roles, true)) {
return 'ocean';
}
// 寄稿者
if (in_array('contributor', $roles, true)) {
return 'sunrise';
}
// 購読者
if (in_array('subscriber', $roles, true)) {
return 'light';
}
return 'fresh'; // 上記以外のロール
}, 10, 2);
標準で利用できる配色スキームは以下です。
| スキーム名 | 特徴 |
|---|---|
| fresh | 標準の配色 |
| light | 明るい配色 |
| blue | ブルー系 |
| coffee | ブラウン系 |
| ectoplasm | グリーン系 |
| midnight | ダーク系 |
| ocean | 青とグレーの落ち着いた配色 |
| sunrise | オレンジ系 |
必要に応じてロール名や配色名を置き換えてください。
ユーザーが配色を変更できないようにする
ユーザー本人のプロフィール画面には「管理画面の配色」セレクトが表示されます。
権限ごとに固定する場合、このセレクトは非表示にします。
/**
* プロフィール画面の配色選択 UI を削除
*/
add_action('admin_head-profile.php', function () {
remove_action('admin_color_scheme_picker', 'admin_color_scheme_picker');
});
これでユーザーは配色を変更できなくなり、ロールごとの固定設定が確実に機能します。
まとめ
WordPress の管理画面配色は通常ユーザーごとに選択できますが、権限ごとに固定することで運用効率や安全性が向上します。
本記事で紹介したコードを活用すれば、次のような管理が可能です。
- 権限に応じて管理画面の配色を自動で設定
- ユーザーが配色を変更できないよう制御
- 管理側で統一された運用ルールを構築
複数スタッフによる更新や、複数の権限が存在するサイト運用で特に役立つ手法です。


コメント