Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/inkline-media/inkline-admin-cleaner/archive/refs/heads/main.zipA WordPress must-use plugin that hides admin notices, dashboard clutter, and update badges for anyone not on a trusted domain. Trusted users get a Dirty Admin / Clean Admin toggle in the toolbar. Self-updates from this GitHub repo via Plugin Update Checker.
What it does
| Feature | Trusted domains | Everyone else |
|---|---|---|
| Admin notices | Toggle (default: visible) | Always hidden |
| Plugin/theme update badges | Toggle | Always hidden |
| Third-party dashboard widgets | Toggle | Always hidden |
| Dirty/Clean toggle button | Visible in toolbar | Never shown |
Trusted domains
Edit inkline_ac_allowed_domains() in plugin.php and push. PUC will automatically deploy the change to all sites on the next update cycle.
function inkline_ac_allowed_domains(): array {
$defaults = [
'inkline.ca',
// 'another-agency.com',
];
return (array) apply_filters( 'inkline_ac_allowed_domains', $defaults );
}
Requirements
- WordPress 5.5+
- PHP 7.4+
- Plugin Update Checker (via Composer)
First-time deployment
WordPress only auto-loads PHP files directly inside mu-plugins/ - not subdirectories. So every site needs a one-line loader file placed one level above the plugin folder. This is a one-time step per site.
wp-content/
mu-plugins/
inkline-admin-cleaner.php <- one-time deploy (copy from loader.php in this repo)
inkline-admin-cleaner/ <- this repo (clone or copy here)
plugin.php
loader.php
composer.json
...
Steps:
# 1. Clone the repo into mu-plugins
git clone https://github.com/inkline-ca/inkline-admin-cleaner \
wp-content/mu-plugins/inkline-admin-cleaner
# 2. Copy the loader up one level (one-time only)
cp wp-content/mu-plugins/inkline-admin-cleaner/loader.php \
wp-content/mu-plugins/inkline-admin-cleaner.php
# 3. Install Composer dependencies (enables auto-updates)
cd wp-content/mu-plugins/inkline-admin-cleaner && composer install
That's it. The loader never needs to change.
Auto-updates
Once deployed, PUC checks GitHub daily and applies updates automatically in the background. To ship an update to all 200 sites:
- Make changes in
plugin.php(including the trusted domain list if needed) - Bump
Version:inplugin.php - Commit and push to GitHub
- Create a GitHub Release with a matching tag (e.g.
1.0.1)
All sites update within 24 hours. No SSH, no manual deploys.
Dirty / Clean toggle
Users on a trusted domain see a colour-coded button in the top-right of the admin toolbar:
- Dirty Admin (amber) - default, full WordPress admin with all notices visible
- Clean Admin (green) - the same view clients see, all noise hidden
Preference is stored in a browser cookie and persists across sessions.