Woo Hierarchical Category Menu
A WooCommerce category tree that maintains itself
Drop one placeholder into a WordPress menu and it expands on render into the live WooCommerce product-category hierarchy — so adding a category never means re-editing the navigation.
Language
PHP
Licence
GPL-2.0-or-later
Status
Active
Repository
webloomlabs/woo-hierarchical-category-menu
Requires
WordPress 5.8+, PHP 7.4+, WooCommerce 5.0+
Distribution
Zip from the GitHub releases page
Why it exists
A menu that stops
lagging behind the catalogue
Hand-adding every product category to a WordPress menu works exactly once. From then on the menu and the catalogue drift apart: a new category is invisible until someone remembers to add it, and a renamed one keeps its old label in the navigation.
The fix is to stop storing the tree in the menu at all. One placeholder item goes in, and the categories are resolved on every page load, nested to whatever depth you choose.
Small, but it is the kind of thing that quietly costs a store owner a sale every month — and the same output works as a shortcode, so it is not limited to the theme's menu.
What it does
What Woo Hierarchical Category Menu gives you
The short version of the README. The repository has the rest, including what Woo Hierarchical Category Menu does not do yet.
One placeholder, live tree
The placeholder stays visible in the admin and is replaced by the real hierarchy on the front end, resolved on every page load.
Any depth
Nest to a set number of levels or leave it unlimited, and start from any parent category rather than the top.
Works as a shortcode
The same output drops into posts, pages, widgets and page builders with [woo_category_menu], not just the theme menu.
Ten attributes
depth, parent, hide_empty, hide_label, name_case, orderby, order, include, exclude and show_count — with unrecognised values falling back to defaults rather than erroring.
Mobile dropdowns work
Generated parents carry menu-item-has-children, so theme toggles — including tap-to-expand mobile menus — open the dynamic levels.
Clean uninstall
Removing the plugin deletes its placeholder items and its settings. Your product categories and your other menus are left alone.
Built with