Too many menus, too little space
You open WordPress admin and there's Dashboard, Posts, Media, Pages, Comments, Appearance, Plugins, Users, Tools, Settings — plus whatever every active plugin adds at the bottom. By Friday you've got 20 sidebar entries and your eyes glaze over every time you look for the one you actually use.
For a client site, it's worse. The client doesn't need Tools. They don't need to see Plugins (and if they do, they'll break something). They opened the admin to write a blog post — and they have to scroll past nine menus they'll never touch.
What most people do
#menu-tools { display: none; } into the admin. The menu is still there in the DOM — anyone with browser dev tools can un-hide it.remove_menu_pageWorks fine for one menu. Add five, lose track of which file they're in. Switch themes — they're gone. And it affects every user, not just you.A better way: one command per menu, reversible
Open the navigator. Type hide menu. Pass a slug or a comma-separated list. Done.
TrueCommander registers each hidden menu as its own startup command row. On every page load, the menu is removed from the sidebar for the current user. Run show menu with the same slug — that one row is removed and the menu reappears. Nothing else changes.
tools.phpedit-comments.phpplugins.phpPer-user, not site-wide. Hiding "Tools" hides it for the user who ran the command — not for everyone. Build a clean admin for yourself without touching what your team sees.
Common WordPress menu slugs
Pass any menu slug to hide menu. For built-in menus:
| Menu | Slug |
|---|---|
| Dashboard | index.php |
| Posts | edit.php |
| Media | upload.php |
| Pages | edit.php?post_type=page |
| Comments | edit-comments.php |
| Appearance | themes.php |
| Plugins | plugins.php |
| Users | users.php |
| Tools | tools.php |
| Settings | options-general.php |
Plugin menus typically follow the form admin.php?page=plugin-name — hover the menu link in the sidebar and the slug is in the URL.
How it works
hide menu with one or more slugsEach slug becomes its own startup command row, scoped to your user.admin_menu hook fires, the named menu is removed for your user, the sidebar renders without it.show menu to bring one backOnly the matching slug's row is removed — every other hidden menu stays hidden.| Detail | Value |
|---|---|
| Command names | hide menu, show menu |
| Scope | Per-user (the user who ran the command) |
| Reversibility | show menu with the original slug |
| Can be used in |
Real example
You hand off a small business site to a client. They'll log in as Editor to write blog posts and update their About page. They don't need Tools, Comments (you turned them off), or anything from the plugin menus you installed for them.
Logged in as the client's Editor account, you run: hide menu -slug=tools.php,edit-comments.php,admin.php?page=jetpack
Three menus gone from their sidebar. Their admin is Dashboard, Posts, Media, Pages, Profile. Five entries instead of fifteen. The next time they log in, they see exactly what they need.
Six months later they call asking about a Jetpack setting. You run show menu -slug=admin.php?page=jetpack from their account. Menu reappears. They handle the setting themselves.