A lightweight Chrome extension that cleans up the WordPress admin menu by hiding non-core items while preserving the current page's menu item. Perfect for clean screenshots, screencasts, and focused WordPress admin demos.
- Smart Menu Cleaning: Hides plugin and theme menu items while keeping WordPress core menus
- Current Page Awareness: Always shows the menu item for the page you're currently viewing
- Submenu Support: Cleans both top-level and submenu items
- Persistent Across Navigation: No flash or re-hiding when navigating between admin pages
- Easy Toggle: Simple on/off switch via extension popup
- Zero Configuration: Works out of the box with sensible defaults
- Lightweight: Minimal performance impact
🎯 What Gets Hidden
The extension hides all non-core WordPress admin menu items except:
- Dashboard
- Posts
- Media
- Pages
- Comments
- Appearance
- Plugins
- Users
- Tools
- Settings
- Profile
- Updates
- Current page menu item (e.g., if you're on a plugin settings page, that plugin's menu stays visible)
- Parent menu items for editor screens (post.php, post-new.php map back to Posts/Pages)
-
Download or Clone
git clone https://github.com/verygoodplugins/wp-clean-admin.git cd wp-clean-admin -
Load in Chrome
- Open
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the
wp-clean-adminfolder
- Open
-
Start Using
- Visit any WordPress admin URL (
/wp-admin/) - The extension activates automatically
- Use the extension popup to toggle on/off
- Visit any WordPress admin URL (
- Navigate to any WordPress admin page
- The extension automatically hides non-core menu items
- Your current page's menu item remains visible
- Click the extension icon in Chrome's toolbar
- Use the Clean menu toggle to enable/disable
- Changes apply instantly to the current tab
- Screenshots: Clean, professional WordPress admin screenshots
- Screencasts: Focused tutorials without plugin clutter
- Client Demos: Show core WordPress functionality without distractions
- Documentation: Consistent admin interface across different WordPress sites
wp-clean-admin/
├── manifest.json # Chrome extension manifest (MV3)
├── content.js # Main cleaning logic
├── popup.html # Toggle interface
└── README.md # This file
- Content Script: Runs on all
/wp-admin/*pages - Menu Detection: Identifies WordPress admin menu structure
- Smart Filtering: Compares menu items against core WordPress slugs
- Current Page Logic: Detects current page and preserves its menu item
- Dynamic Updates: Uses MutationObserver to handle menu changes
- Chrome (Manifest V3)
- Edge (Chromium-based)
- Other Chromium browsers
# Clone the repository
git clone https://github.com/verygoodplugins/wp-clean-admin.git
cd wp-clean-admin
# Load in Chrome for testing
# chrome://extensions/ → Developer mode → Load unpackedTo modify which menu items are considered "core", edit the CORE_MENU_SLUGS set in content.js:
const CORE_MENU_SLUGS = new Set([
'index.php', // Dashboard
'edit.php', // Posts
// Add your custom items here
'admin.php?page=my-plugin', // Custom plugin page
]);MIT License - see LICENSE file for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Found a bug or have a feature request? Please open an issue.
Another Very Good Plugin made with ❤️ for the WordPress community

