Woo · Category menu
A list of top-level categories; opening one shows its subcategories underneath. No PHP: the subcategory loop reads the open category's id with a native dynamic data field.
![]()
Full-page views: desktop, phone and dark mode

At 1440px wide.

At 390px wide.

With your site in dark mode.
See it live: Woo · Category menu on fancybricks.co — the live preview, and the button that copies it.
Preview on the front end. Scripts don't run inside the builder, so here you only see the layout. Save and open the page to see the full result.
Structure
This is what the Bricks Structure panel shows after you paste the template. Component instances say which component they are.
Category menu showcase
Woo · Category menu · Light
Container
Intro (FBK Intro)
Accordion (FBK Accordion)
Category item
Category item · Header
Category item · Number (decorative)
Category item · Tag
Category item · Title
Category item · Marker
Category item · Icon
Category item · Content
Category item · Body
Category · Subcategories
Category · All
All · Link
All · Name and count
Category · Subcategory
Subcategory · Link
Subcategory · Name and count
Category · Sub-subcategories
Category · Sub-subcategory
Sub-subcategory · Link
Sub-subcategory · Name and count
Category · Leaf
Category · Link (no subcategories)
Woo · Category menu · Soft
Container
Intro (FBK Intro)
Accordion · Soft (FBK Accordion)
Category item
Category item · Header
Category item · Number (decorative)
Category item · Tag
Category item · Title
Category item · Marker
Category item · Icon
Category item · Content
Category item · Body
Category · Subcategories
Category · All
All · Link
All · Name and count
Category · Subcategory
Subcategory · Link
Subcategory · Name and count
Category · Sub-subcategories
Category · Sub-subcategory
Sub-subcategory · Link
Sub-subcategory · Name and count
Category · Leaf
Category · Link (no subcategories)
Categories without subcategories as links (JS, optional)
The template also pastes a dashed note above the section, with the short version of this page. It only shows inside the builder, never on the published page — see Builder notes.
How to adjust
Every step is the same move: pick the element in the Structure panel, change its Properties.
How to adjust a template shows every one of them in a screenshot of the real builder: the Structure and Properties panels, the classes on an element, a component's style families and the field where a CSS variable goes.

The classes this element carries, in the Bricks panel.

This template's own component, with its Style group open.
- Paste the template in Bricks first — see Copy and paste.
- Select Intro ×2 (FBK Intro) › Properties: Eyebrow, Hide eyebrow, Title, Title level, Lead, Hide lead · Style group: Eyebrow style, Highlight, Title size, Accent line · Layout group: Alignment, Layout, Background, Spacing · Motion group: Reveal in slider.
- Select Accordion, Accordion · Soft (FBK Accordion) › Properties: Open the first item, Several open at once, FAQ schema · Style group: Style, Open item accent, Open title color, Hover effect, Title color on hover, Background · Icon group: Icon, Look, Tone, Shape, Size, Hover effect, Icon position · Layout group: Numbers, Columns · Autoplay group: Time per item, Autoplay on phones.
- Select Category item ×2, Category · Subcategory ×2, Category · Sub-subcategory ×2 (query loop) › Query: taxonomy, number of terms and order.
Requirements
- WooCommerce. Needs WooCommerce active, with the products/fields this template queries already set up.
- Code execution. Needs "Execute code" enabled for the role in Bricks → Settings → Custom code, or the JS block shows as plain text instead of running.
What each requirement is, and how to set it up once for the whole site: Requirements.
Finish by hand
- The query loop is on Category item (top-level categories; the item itself loops, so Bricks gives every title its button role and keyboard), Category · Subcategory inside each item (its children) and Category · Sub-subcategory under each subcategory (a third level). Change the number or order there (Query > Terms). The numbers are WooCommerce's product counts (they include the products of the subcategories).
- Style, icon and whether several items can stay open are properties of Accordion.
- A category without subcategories is a plain link (no arrow) thanks to the script Categories without subcategories as links; without it, its row opens a panel with the link.
On phones
The template is designed desktop first, the Bricks default, and only changes at the two widths the library uses:
- 991px and below —
.fbk-accordion,.fbk-intro. - 767px and below —
.fbk-section.
Those changes live in Bricks' own breakpoint fields, so you edit them where you always do: pick the breakpoint in the toolbar and the same fields follow.
Careful with the classes shared by the whole library (fbk-section, fbk-intro, the
component classes): a change there shows up in every template that uses them.
If your site's breakpoints are set up mobile first, copy the mobile-first variant of the template instead — see Copy and paste.
Accessibility
In this template, keyboard focus is visible on every interactive piece; movement is cut back
when the visitor's system asks for less motion; the state screen readers need is already set
(aria-hidden).
What is checked on every template, and what depends on your own palette: Accessibility.
Dark mode
With your site in dark mode this section turns dark too — the class fbk-section--auto-dark
on the section does it. Remove the class to keep it light.
Its background is a modifier on the section, so you can swap it for any of the ones the
template is checked with: fbk-section--light, fbk-section--soft, fbk-section--dark.
How the library follows your site's color scheme: Dark mode and preview.
Replaces
- 01 - Woo category list from Fancy Bricks 2.0
- 01 - Menu woo categories from Fancy Bricks 2.0
What happened to the old libraries, and what to do with pages already built with them: Migrating from 1.0/2.0.