Force Admin Color Scheme

Описание

Though it is typically an individually configurable aspect of WordPress, there are times when forcing a single admin color scheme upon all users of a site can be warranted, such as to:

  • Provide a unique backend color scheme for multiple sites used by the same set of users to reinforce the difference between the sites.
  • Clearly denote backend differences between a production and staging/test instance of a site. Especially given that in this situation with the same plugins active and often the same data present, it can be easy to get mixed up about what site you’re actually on.
  • Force a site brand-appropriate color scheme.
  • Crush the expression of individuality under your iron fist.

Additionally, the plugin removes the «Admin Color Scheme» profile setting from users who don’t have the capability to set the admin color scheme globally since being able to set its value gives them the false impression that it may actually apply.

Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage

Hooks

The plugin is further customizable via one filter. Typically, code making use of filters should ideally be put into a mu-plugin or site-specific plugin (which is beyond the scope of this readme to explain).

c2c_force_admin_color_scheme (filter)

The ‘c2c_force_admin_color_scheme’ filter allows you to set or override the forced admin color scheme. Use of the constant («) takes priority over the filtered value, but the filtered value takes priority over the value set via the admin.

Arguments:

  • $color (string): The name of the admin color scheme. If an empty string is returned, then the plugin will behave as if no forced admin color scheme has been defined.

Example:

/**
 * Sets a forced admin color scheme based on user. Admins get one color scheme, whereas everyone else gets another.
 *
 * @param string $color The current forced admin color scheme. Empty string indicates no forced admin color scheme.
 * @return string
 */
function my_c2c_force_admin_color_scheme( $color ) {
    return current_user_can( 'manage_options' ) ? 'sunrise' : 'coffee';
}
add_filter( 'c2c_force_admin_color_scheme', 'my_c2c_force_admin_color_scheme' );

Скриншоты

  • The profile page for an administrative user who has the checkbox to force an admin color scheme on users, though one hasn't been forced yet.
  • The profile page for an administrative user who has the checkbox to force an admin color scheme on users, with a color scheme having been forced.
  • The profile page for an administrative user when the forced admin color scheme is configured via the filter.
  • The profile page for an administrative user when the forced admin color scheme is configured via the constant.
  • The profile page for an administrative user when the forced admin color scheme is incorrectly configured via the constant. A similar warning also appears if the color scheme is incorrectly configured via the filter as well.

Установка

  1. Install via the built-in WordPress plugin installer. Or install the plugin code inside the plugins directory for your site (typically /wp-content/plugins/).
  2. Activate the plugin through the ‘Plugins’ admin menu in WordPress
  3. As an admin, edit your own profile (Users -> Your Profile) and choose the Admin Color Scheme you want to apply to all users by setting the color scheme for yourself.
  4. Check the «Force this admin color scheme on all users?» checkbox and then save the update to your profile.
  5. Optional: Use the c2c_force_admin_color_scheme filter in custom code to programmatically set the forced admin color scheme with greater control.
  6. Optional: Define the C2C_FORCE_ADMIN_COLOR_SCHEME constant somewhere (such as wp-config.php) if you’d prefer to configure the color that way. Configuring the color in this manner takes precedence over the color as configured via an admin’s profile. Also, if the constant is used, the plugin prevents the setting of admin color schemes entirely from within user profiles, including by admins.

Часто задаваемые вопросы

Why isn’t everyone seeing the same admin color scheme after activating this plugin?

Have you followed all of the installation instructions? You must configure the forced admin color scheme by setting the color scheme for yourself while also checking the «Force this admin color scheme?» checkbox.

How do I resume letting users pick their own color schemes?

Uncheck the «Force this admin color scheme?» when updating an administrative profile (assuming the plugin’s provided constant and/or filter aren’t being used), or simply deactivate the plugin.

Can I force different admin color schemes based on the user?

Yes, but only via custom coding by making use of the c2c_force_admin_color_scheme filter. See the documentation for the filter for an example.

What happens if a custom admin color scheme was forced, but later the custom admin color scheme is no longer available (e.g. I deactivated the plugin providing the custom admin color scheme)?

The plugin will recognize that the chosen admin color scheme is no longer valid and will act as if one isn’t set. In such a case, users would then see their individually chosen admin color schemes. If the custom admin color scheme becomes available again (before a new existing color scheme is selected as the new scheme to be forced), then the plugin will reinstate it as the forced admin color scheme.

Why is the admin color scheme picker still functional, or even still present at all, when the color scheme is set via the filter or constant and thus cannot be changed via the picker?

Just to be clear, if an admin color scheme is being forced, then non-admininistrative users won’t see the admin color scheme picker at all.

The plugin does not disable the admin color scheme picker for administrative users even if a value is directly configured in code (via the constant or the filter) so that the admin color schemes can still be seen and previewed in case an admin user wants to evaluate alternatives.

Does this plugin include unit tests?

Yes.

Отзывы

03.09.2016
We use this plugin, to get a consistent branding for our customers. Together with "Admin Color Schemer" it gives us the ability to make sure that the client sees their panel in either their site colors, or our company colors without us having to worry, they will accidently change it. I often also pair this plugin with "WP Admin UI Customize" to brand the login-screen and keep less tech-savvy clients from being overwhelmed by the options WordPress offers. Those three are my go-to plugins for branding my sites and keeping the user-experience consistent.
Посмотреть все 2 отзыва

Участники и разработчики

«Force Admin Color Scheme» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Force Admin Color Scheme» переведён на 1 язык. Благодарим переводчиков за их работу.

Перевести «Force Admin Color Scheme» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

2.0.3 (2021-10-14)

  • Change: Use ‘translators’ instead of ‘translator’ as prefix for translator comments
  • Change: Note compatibility through WP 5.8+
  • Change: Tweak installation instruction
  • Unit tests:
    • Change: Restructure unit test directories
      • Change: Move phpunit/ into tests/
      • Change: Move phpunit/bin into tests/
    • Change: Remove ‘test-‘ prefix from unit test file
    • Change: In bootstrap, store path to plugin file constant
    • Change: In bootstrap, add backcompat for PHPUnit pre-v6.0

2.0.2 (2021-04-11)

  • Change: Note compatibility through WP 5.7+
  • Change: Update copyright date (2021)

2.0.1 (2020-09-03)

  • Change: Restructure unit test file structure
    • New: Create new subdirectory phpunit/ to house all files related to unit testing
    • Change: Move bin/ to phpunit/bin/
    • Change: Move tests/bootstrap.php to phpunit/
    • Change: Move tests/ to phpunit/tests/
    • Change: Rename phpunit.xml to phpunit.xml.dist per best practices
  • Change: Note compatibility through WP 5.5+
  • Change: Tweak function documentation
  • Change: Add FAQ entry regarding continued appearance of admin color scheme picker when the color scheme can’t be changed (due to being set via filter or constant)
  • New: Add a few more possible TODO items

Full changelog is available in CHANGELOG.md.