- Author: Scott Reilly
- Version: 2.5.1
- First released: 2011-12-05
- Last update: 2025-12-08
- Compatibility: WP 5.5 – 6.9
- Download: [ zip ]
- Description:
Easily define additional CSS (inline and/or by URL) to be added to all administration pages.
-
Extended Description
Ever want to tweak the appearance of the WordPress admin pages by hiding stuff, moving stuff around, changing fonts, colors, sizes, etc? Any modification you may want to do with CSS can easily be done via this plugin.
Using this plugin you’ll easily be able to define additional CSS (inline and/or files by URL) to be added to all administration pages. Hooks are provided to customize the output of the CSS, the CSS files, and if/when the CSS should even be output (see Hooks section).
Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage
Developer Documentation
Developer documentation can be found in DEVELOPER-DOCS.md. That documentation covers the hooks provided by the plugin.
As an overview, these are the hooks provided by the plugin:
c2c_add_admin_css: Filter to customize the CSS that should be added directly to the admin page head.c2c_add_admin_css_files: Filter to customize the list of CSS files to enqueue in the admin.c2c_add_admin_css_disable_css: Filter to customize if the CSS defined via this plugin should be output or not.
Find out more at the plugin’s WordPress Plugin Repository page.
-
Screenshots
Click to see full-size image.
-
Installation
- Install via the built-in WordPress plugin installer. Or install the plugin code inside the plugins directory for your site (typically
/wp-content/plugins/). - Activate the plugin through the ‘Plugins’ admin menu in WordPress
- Go to “Appearance” -> “Admin CSS” and specify some CSS to be added into all admin pages. (You can also use the “Settings” link in the plugin’s entry on the admin “Plugins” page).
- Install via the built-in WordPress plugin installer. Or install the plugin code inside the plugins directory for your site (typically
-
Release Log
2.5.1 (2025-12-02)
- Fix: Escape only the minimum of characters so that valid CSS characters don’t get escaped. Props kevinvanrijn.
- Change: Note compatibility through WP 6.9+
2.5 (2025-03-29)
- New: Add
c2c_add_admin_css_disable_cssfilter to override if CSS defined via this plugin should be output or not - New: Add
is_recovery_mode_enabled()to determine is recovery mode is enabled - Change: Only support query parameter method of enabling recovery mode if current user can configure plugin settings
- Change: Display the files setting help text as a list rather than a paragraph
- Change: Check specifically if recovery mode is enabled before displaying admin notice that recovery mode is enabled
- Change: Explicitly state the plugin name in the recovery mode admin notice to avoid ambiguity
- Change: Switch use of
parse_url()towp_parse_url() - Change: Escape output of all translated strings
- Change: Use instance method invocation instead of a deprecated static method invocation
- Change: Convert ‘input_attributes’ value of config items from a string to an array
- Change: Add translator comments for a pair of strings with placeholders that didn’t have one
- New: Add DEVELOPER-DOCS.md and move hooks documentation into it
- Change: Update plugin framework to 068
- 068:
- Change: Discontinue unnecessary explicit loading of textdomain
- Change: Ignore a PHPCS warning that doesn’t apply
- Change: Minor code reformatting
- Change: Note compatibility through WP 6.8+
- Change: Update copyright date (2025)
- Unit tests:
- Change: Generify unit tests to centralize per-plugin configuration to the top of the test class
- Change: Define method return types for PHP 8+ compatibility
- New: Add some header documentation
- 067:
- Breaking: Require config attribute ‘input_attributes’ to be an array
- Hardening: Treat input attributes as array and escape each element before output
- Change: Ensure config attribute values are of the same datatype as their defaults
- Change: Simplify
form_action_url()to avoid using a server global - Change: Use
form_action_url()inplugin_action_links()rather than duplicating its functionality - Change: Escape output of all translated strings
- Change: Make
get_hook()public rather than protected - Change: Explicitly declare object variables rather than doing so dynamically
- Change: Convert
register_filters()to an abstract declaration - Change: Use double quotes for attribute of paragraph for setting description
- Change: Prevent unwarranted PHPCS complaints about nonces
- Change: Improve function documentation
- Change: Adjust function documentation formatting to align with WP core
- Change: Note compatibility through WP 6.5+
- Change: Drop compatibility with version of WP older than 5.5
- Change: Update copyright date (2024)
- 066:
- New: Add customization of capability needed to manage plugin settings (via new filter {plugin_prefix}_manage_options_capability)
- Change: Add styles for nested lists within settings descriptions
- Change: Note compatibility through WP 6.3+
- 065:
- New: Add support for ‘inline_help’ setting configuration option
- New: Add support for ‘raw_help’ setting configuration option
- New: Add support for use of lists within settings descriptions
- Change: Add an ‘id’ attribute to settings form
- Change: Add styles for disabled input text fields and inline setting help notices
- Change: Support ‘number’ input by assigning ‘small-text’ class
- Change: Tweak styling for settings page footer
- Change: Note compatibility through WP 6.2+
- Change: Update copyright date (2023)
- 064:
- New: For checkbox settings, support a ‘more_help’ config option for defining help text to appear below checkbox and its label
- Fix: Fix URL for plugin listing donate link
- Change: Store donation URL as object variable
- Change: Update strings used for settings page donation link
- Change: Ignore some PHPCS checks that don’t apply
- Change: Update and improve long description and numerous FAQ entries
- Change: Note compatibility through WP 6.8+
- Change: Note compatibility through PHP 8.3+
- Change: Drop compatibility with version of WP older than 5.5
- Change: Tweak installation instruction
- Change: Update copyright date (2025)
- Change: Reduce number of tags defined in readme.txt
- Change: Remove development and testing related files from release packaging
2.0.1 (2021-05-30)
- Change: Update plugin framework to 063
- Fix: Simplify settings initialization to prevent conflicts with other plugins
- Change: Remove ability to detect plugin settings page before current screen is set, as it is no longer needed
- Change: Enqueue thickbox during
'admin_enqueue_scripts'action instead of during'init' - Change: Use
is_plugin_admin_page()inhelp_tabs()instead of reproducing its functionality - Change: Trigger a debugging warning if
is_plugin_admin_page()is used before'admin_init'action is fired
- New: Add new string (from plugin framework) for translation
-
Copyright & Disclaimer
Copyright © 2011-2025 by Scott Reilly (aka coffee2code)This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -
Discussion / Support
Have any questions, comments, or suggestions? Please provide them via the plugin’s WordPress.org support forum. I’ll do my best to reply in a timely fashion and help as best I can.
Unfortunately, I cannot provide guaranteed support, nor do I provide support via any other means.
Was this plugin useful useful to you? Consider giving it a rating. If you’re inclined to give it a poor rating, please first post to the support forum to give me a chance to address or explain the situation.
