🔥WORDPRESS PLUGINS YOU WON'T FIND ANYWHERE ELSE!BloatSlayer🔍SEO Surgeon📦TrackShip🚀LaunchPad🎯CommandPost🔑VeriKeyProofFlow💬SiteChat🤖AltVault📢Announcement Bar🌙Dark Mode🖌️Login Logo🚫Disable Comments
Documentation › AdminGate

🔒 AdminGate

Hide WordPress admin menu items for individual administrator accounts — no code required. Free to download and use forever.

⬇ Download v1.0.0 — Free

Overview

AdminGate is a free WordPress plugin that gives site owners a simple panel to control which admin menu items each administrator account can see. It works at the WordPress admin_menu hook level — hiding items without touching capabilities, roles, or any site content.

Common use cases:

  • Keep a client's admin account focused — hide Plugins, Themes, or Settings they shouldn't touch.
  • Onboard a new team member without overwhelming them with every menu option.
  • Tidy up multi-admin sites where different people manage different areas.
AdminGate hides menu items visually. It does not remove the underlying WordPress capabilities of the user — it is a UI simplification tool, not a security enforcement layer.

Installation

  1. Download admingate-1.0.0.zip from boulleytechnology.ca/admingate.php.
  2. In your WordPress admin, go to Plugins → Add New → Upload Plugin.
  3. Choose the zip file and click Install Now.
  4. Click Activate Plugin.
  5. Navigate to Settings → AdminGate to start configuring.
AdminGate requires no database setup. It uses standard WordPress user meta to store restrictions and is ready to use immediately after activation.

The Settings Page

Go to Settings → AdminGate. The page is split into two panels:

  • Left sidebar — lists all administrator accounts on the site. A red badge next to a name shows how many items are currently hidden for that user.
  • Main panel — when you click an administrator, their full admin menu is displayed as a grid of cards. Each card represents one top-level menu item and its submenu entries.

Check a box to hide that item, then click Save Restrictions. Changes take effect immediately — the next time that administrator loads any admin page, the checked items will be gone from their sidebar.

Hiding Top-Level Menus

Each card in the grid corresponds to one top-level menu entry (e.g. Posts, Plugins, Tools). Checking the top-level checkbox hides the entire section including all of its submenu entries.

When a top-level item is checked:

  • The card turns red with a strikethrough label.
  • All child checkboxes are automatically locked — they are redundant since the parent is already gone.
Internally this calls WordPress's remove_menu_page() function, which removes the top-level entry and all its associated submenus in one operation.

To hide only a specific submenu entry while keeping the parent visible, leave the top-level checkbox unchecked and check only the child item(s) you want to hide.

Example: to hide Add New under Posts but keep the All Posts link visible — leave Posts unchecked, expand the card, and check Add New only.

Submenu items are stored internally as parent_slug::child_slug pairs and removed via WordPress's remove_submenu_page() function.

Protected Items

The Settings menu (options-general.php) is permanently protected and cannot be hidden for any user. Its checkbox is disabled and labelled Protected.

This ensures that no administrator can accidentally hide the AdminGate settings page from themselves, locking them out of the configuration panel.

AdminGate only protects the Settings top-level menu. If you hide individual Settings submenus (e.g. General or Permalinks), those are not protected — use with care on your own account.

Clearing Restrictions

To remove all restrictions for a user at once, click the Clear All button below the menu grid and then save. All menu items will be restored for that administrator.

To remove a restriction for a single item, uncheck the relevant box and save.

Privacy & Telemetry

AdminGate sends a weekly anonymous ping to boulleytechnology.ca to help track active installs and prioritize updates. The data sent is:

  • Site domain (e.g. example.com)
  • Site name
  • AdminGate version
  • WordPress version
  • PHP version
  • Site locale

No personal data, no user information, no content, and no visitor data is ever transmitted. An activation event fires when the plugin is first activated, and a deactivation event fires when it is deactivated.

All requests are non-blocking (fire-and-forget) with a 5-second timeout and have no impact on page load performance.

Troubleshooting

A menu item I restricted is still showing

Make sure you saved after checking the box. Also check that no other plugin is re-registering that menu item at a very late priority (after AdminGate's enforcement at priority 9999). If a plugin registers a menu at priority 10000 or later, AdminGate cannot remove it.

The menu grid shows fewer items than the target user's sidebar

The grid is built from the menu of the administrator currently logged in (the one configuring AdminGate). If the target user has different plugin access or different capabilities, their menu may differ slightly. In practice, administrators typically see the same set of items.

Restrictions disappeared after updating AdminGate

Restrictions are stored in WordPress user meta and persist across plugin updates. If they disappear, check that the user meta key admingate_restrictions is intact via your database or a user meta viewer.

FAQ

Does this affect the frontend of my site?

No. AdminGate only affects the WordPress admin sidebar. It has zero frontend footprint — no scripts, no styles, and no output on the public-facing site.

Can users bypass the restrictions?

A technically savvy user could navigate directly to a hidden page via URL if they know the address. AdminGate is a UI simplification tool, not a security enforcement layer. For true access control, use role-based capability management.

Does it work on multisite?

AdminGate works on standard single-site WordPress installs. Full multisite network support is on the roadmap.

Will my restrictions survive a WordPress update?

Yes. Restrictions are stored in user meta, which WordPress updates never touch.

What happens if I deactivate AdminGate?

All menus are immediately restored for all users. The restriction data remains in user meta but is ignored until AdminGate is reactivated.

Support

AdminGate is a free plugin maintained by Boulley Technology. For questions or bug reports, contact us at:

If AdminGate has been useful to your workflow, consider trying our premium plugins at boulleytechnology.ca — each one is built with the same no-bloat philosophy.
BT
BT Assistant Ask me anything!