Image

Menu Visibility Control

Descrizione

Menu Visibility Control is a lightweight, privacy-friendly WordPress plugin that lets you decide exactly who sees each menu item, directly inside the WordPress menu editor.

No settings pages.
No lock-in.
No performance overhead.

Everything is managed where it belongs: Appearance Menus.

๐Ÿ‘๏ธ Visibility Options Per Menu Item

You can control visibility based on:

  • ๐Ÿ‘ฅ Everyone
  • ๐Ÿ”’ Logged-in users
  • ๐Ÿšช Logged-out users
  • ๐Ÿงฉ Specific user roles (Administrator, Editor, Subscriber, etc.)
  • ๐Ÿ“ฑ Device type (Desktop / Tablet / Mobile)
  • ๐Ÿ“„ Specific pages (auto-detected list)

All conditions are optional and safely combined.

๐Ÿ’ก Perfect For

  • Membership and community websites
  • Client dashboards and intranets
  • Multi-role WordPress sites
  • Sites with mobile-specific navigation
  • Blogs that need different menus for visitors vs members

๐Ÿ”ง Key Features

  • Native integration with Appearance Menus
  • Works with any theme or page builder
  • Role-based menu visibility
  • Device-based menu visibility
  • Page-specific menu visibility
  • Auto-hidden UI (only shows options when enabled)
  • Secure (nonces, sanitization, strict validation)
  • Performance-optimized (runs only during menu rendering)
  • 100% free, open-source, and donation-supported

๐Ÿง  Why Use Menu Visibility Control?

Unlike large menu or membership plugins, this plugin:

  • Uses only WordPress core hooks
  • Stores minimal metadata
  • Is compatible with caching, multilingual sites, and block themes
  • Does not track users or collect data

It does one thing โ€” and does it well.

Support

Need help or want to share feedback?

License

This plugin is licensed under the GPL v2 or later.

You are free to use, modify, and redistribute it under the same license.

Code is Poetry. โค๏ธ

Screenshot

  • Image
    Visibility controls inside the WordPress menu editor.
  • Image
    Role selection checkboxes.

Installazione

  1. Upload the plugin folder to /wp-content/plugins/menu-visibility-control/, or install it from the WordPress Plugin Directory.
  2. Activate the plugin via Plugins Installed Plugins.
  3. Go to Appearance Menus.
  4. Expand a menu item and choose its Visibility options.

No configuration required.

FAQ

Where are the plugin settings?

There is no global settings page. All options appear directly within each menu item in Appearance Menus.

Can I hide menu items by user role?

Yes. Select User Roles and choose the roles that should see the menu item.

Can I show or hide menu items by device?

Yes. You can restrict menu items to Desktop, Tablet, or Mobile devices.

Can I show menu items only on certain pages?

Yes. You can select specific pages where a menu item should appear.

Will existing menus break after updating?

No. All existing settings remain untouched. New features are opt-in only.

Does this work with all themes and builders?

Yes. Any theme or builder using wp_nav_menu() is fully supported.

Is the plugin translation-ready?

Yes. The text domain is menu-visibility-control.

Recensioni

Image
28 Ottobre 2025 1 risposta
Really good, easy-to-use plugin for hiding menus from users who are not logged in to the site. Perfect and does the job !Isidore
Leggi tutte le recensioni di 2

Contributi e sviluppo

“Menu Visibility Control” รจ un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.

Collaboratori

Changelog

1.0.9

  • Improved admin notice design on the Appearance Menus screen.
  • Added informative admin notice with documentation, review, and support links.
  • Enhanced notice UX with dismiss handling and once-per-day visibility.
  • Minor UI polish and internal code cleanup.

1.0.8

  • Added device-based menu visibility (desktop, tablet, mobile).
  • Added page-specific visibility with automatic page selector.
  • Improved menu editor UI with auto-hidden options.
  • Performance optimizations.
  • No changes to existing user settings.

1.0.4

  • Security hardening and nonce validation.
  • Confirmed compatibility with WordPress 6.9.

1.0.3

  • Performance improvements and internal cleanup.

1.0.2

  • Added role-based menu visibility.

1.0.1

  • Initial public release.