Sign inBlogSupportContact
Admin

Hide admin menus you don't need to see

Comments, Tools, Plugins — gone from the sidebar with one command. Per-user, reversible, no plugin required.

3 min read May 2026 hide menu

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

User role pluginsInstall a 5MB plugin with a settings panel that has 200 checkboxes. Configure for an hour. Forget which role you customised.
CSS hidingInject #menu-tools { display: none; } into the admin. The menu is still there in the DOM — anyone with browser dev tools can un-hide it.
functions.php with 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.

TrueCommander
Hide menu
Hid 3 menus
Toolstools.php
Commentsedit-comments.php
Pluginsplugins.php

Per-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:

MenuSlug
Dashboardindex.php
Postsedit.php
Mediaupload.php
Pagesedit.php?post_type=page
Commentsedit-comments.php
Appearancethemes.php
Pluginsplugins.php
Usersusers.php
Toolstools.php
Settingsoptions-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

1
Run hide menu with one or more slugsEach slug becomes its own startup command row, scoped to your user.
2
Every admin page load applies the hideWordPress's admin_menu hook fires, the named menu is removed for your user, the sidebar renders without it.
3
Run show menu to bring one backOnly the matching slug's row is removed — every other hidden menu stays hidden.
DetailValue
Command nameshide menu, show menu
ScopePer-user (the user who ran the command)
Reversibilityshow 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.

Goes further with TrueCommander

Ready?

Clean up your admin sidebar.

One of 91 commands. All included with every license.

Cookies. The short version.

Essential cookies keep the cart and theme working. Analytics only fire if you say yes. Read our policy.