bmd/navigation-block-enhancements

Enhance the core navigation block for vertical dropdown support

Maintainers

Package info

github.com/bob-moore/Navigation-Block-Enhancements

pkg:composer/bmd/navigation-block-enhancements

Statistics

Installs: 13

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

0.1.4 2026-04-23 13:40 UTC

This package is auto-updated.

Last update: 2026-04-23 13:43:03 UTC


README

Navigation Block Enhancements is a WordPress plugin and Composer library that modifies rendered output for the core Navigation block and enqueues shared navigation styles.

What It Does

  • Hooks into render_block_core/navigation and processes navigation markup with WP_HTML_Tag_Processor.
  • For vertical navigation output, removes data-wp-on--focusout handlers in the menu subtree.
  • Registers block-scoped styles for core/navigation from this package's build/style-index.css.
  • Supports explicit plugin URI/path configuration via constructor arguments and setters.
  • Exposes a BasicPlugin interface so consuming packages can type against a shared plugin contract.

Requirements

  • WordPress 6.7+
  • PHP 8.2+

Installation

Use as a standard plugin

  1. Build assets:
npm run build
  1. Package:
npm run plugin-zip
  1. Upload and activate in wp-admin: Plugins > Add New Plugin > Upload Plugin.

Use via Composer in your own plugin or theme

This package is published as a Composer library in composer.json:

{
  "name": "bmd/navigation-block-enhancements",
  "type": "library"
}
  1. Require it in your consuming project:
composer require bmd/navigation-block-enhancements
  1. Load Composer autoloading in your bootstrap (if not already loaded):
require_once __DIR__ . '/vendor/autoload.php';
  1. Instantiate and register hooks where appropriate:
use Bmd\NavBlockEnhancements;

$enhancements = new NavBlockEnhancements();

$enhancements->mount();

Changelog

0.1.4

  • Added the BasicPlugin interface and updated NavBlockEnhancements to implement it.
  • Bumped release metadata to 0.1.4.
  • Updated documentation for interface-based integration in consuming packages.

0.1.3

  • Bumped plugin and Composer package versions to 0.1.3.
  • Updated package docs and release metadata for the current API.
  • Clarified explicit URI/path configuration for package asset loading.

0.1.1

  • Added mount() method to NavBlockEnhancements that registers all WordPress hooks in one call (enqueue_block_assets and render_block_core/navigation).
  • Simplified plugin bootstrap: replaced individual add_action/add_filter calls with $plugin->mount().
  • When using the library via Composer, call $enhancements->mount() after instantiation instead of wiring hooks manually.

0.1.0

  • Initial release.
  • Added vertical navigation output processing.
  • Added shared navigation stylesheet enqueue for core/navigation.

License

GPL-2.0-or-later. See https://www.gnu.org/licenses/gpl-2.0.html.