WP Manifestindependent plugin directory
manifest / themes / wp-very-customizable-navigation-menus

Very Customizable Navigation Menus

Build advanced WordPress navigation systems with block-authored menus, mega panels, conditional visibility, and flexible placement.

by Andrew Cook · github.com/awcook97/wp-very-customizable-navigation-menus · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/awcook97/wp-very-customizable-navigation-menus/archive/refs/heads/main.zip

Build advanced WordPress navigation systems with block-authored menus, mega panels, conditional visibility, and flexible placement.

Description

Very Customizable Navigation Menus is a WordPress plugin for building highly flexible menu systems without depending on a specific theme.

This first release includes:

  • A dedicated Custom Menus post type for plugin-managed menus
  • Gutenberg blocks for menu items, menu groups, and mega panels
  • A shared frontend renderer used by a block, shortcode, and widget
  • Responsive drawer behavior for smaller screens
  • Style presets powered by CSS custom properties
  • Common visibility rules for login state, roles, URLs, content IDs, scheduling, and device mode

Installation

  1. Upload the plugin zip in the WordPress admin under Plugins > Add New > Upload Plugin.
  2. Activate the plugin.
  3. Go to Custom Menus in wp-admin and create a new menu.
  4. Add menu items, groups, and mega panels in the block editor.
  5. Place the menu using the Render Custom Menu block, the widget, or the shortcode.

Usage

Create a menu

  1. Open Custom Menus > Add New.
  2. Add one or more Menu Item blocks.
  3. Nest additional Menu Item blocks to create dropdowns.
  4. Add a Mega Panel block inside a parent item for richer multi-column navigation.
  5. Use the sidebar controls to configure links, labels, badges, styling hints, and visibility rules.

Place a menu in content or templates

Use the Render Custom Menu block and select the menu you want to display.

Place a menu with shortcode

[vcnm_menu id="123"]

Optional shortcode attributes:

  • label
  • preset
  • layout
  • breakpoint
  • mobile_label
  • class

Example:

[vcnm_menu id="123" preset="ocean" layout="horizontal" breakpoint="960" mobile_label="Browse"]

Place a menu with the widget

Add the Very Customizable Menu widget in Appearance > Widgets or the block-based widgets screen and choose the menu you want to render.

Frequently Asked Questions

Does this replace my theme's existing menu automatically?

No. This version is designed for explicit placement through the plugin's block, shortcode, or widget so it works safely with more themes.

Does this require Node on the server?

No. The plugin ships with prewritten JavaScript files and does not require Node on your WordPress server.

Can I build mega menus?

Yes. Add a Mega Panel inside a parent menu item and then place groups or links inside the panel.

Can I hide menu items for logged-out users or by role?

Yes. Visibility controls include audience, roles, page/content IDs, URL matching, scheduling, and device targeting.

Changelog

0.1.0

  • Initial release
  • Added custom menu post type
  • Added Gutenberg menu builder blocks
  • Added shared renderer with responsive drawer support
  • Added block, shortcode, and widget placement methods
  • Added styling presets and common visibility rules