Start here
What to change first
The dishes and prices, the service times and address in the opening line, and the note in the foot. Add or remove a dish by duplicating its row group; the leader comes with it.
The signature moment
The price hangs on a dotted leader
Every dish runs to its price along a dotted line, the way a printed menu does it. Each dish is one flex row that never wraps: the name at the left, the price at the right and an empty group between them that grows to fill the gap and carries a 2px dotted currentColor bottom border. The eye travels the leader from name to price, and the prices line up down the right edge of each column. Over each course a heavy 3px rule and a course number at the right give the three columns a structural mark that holds in greyscale.
Theme handoff
What comes from where
From your theme
- The ground is
baseand every line of type iscontrast, each a two-rung chain, at 4.5:1 or better in the stock themes. - The course rules and the dotted leaders are
currentColor. - The label and the course numbers start on
role-labeland fall through tocontrast. - The heading is off the type ladder on purpose, a bare
clamp(3rem, 6vw, 7rem): its size is the composition. Course headings sit on the ladder atx-large, descriptions and notes atmedium. - The button is your theme's own filled button; the typeface is your theme's.
Set by this pattern
- The courses are a grid with a 19rem minimum column: three columns at 1280 and wider, two at 820, one on a phone.
- The dish row is
nowrapwithspace-between. On a phone a long name wraps to two lines, the leader shortens and the price stays on the right.
Full pattern notes
Why it works, and how it is built
Open a topic for the complete design reasoning, editing guidance and implementation notes.
Design rationaleComposition, intent and nearest alternatives
Overview
A restaurant or cafe menu set as three course columns. A tracked label, a display heading and a line of service times open the section; beneath them Starters, Mains and Puddings stand side by side, and a ruled foot carries a note about bread and service with your theme's own button.
The signature moment: the price hangs on a dotted leader
Every dish runs to its price along a dotted line, the way a printed menu does it. Each dish is one flex row that never wraps: the name at the left, the price at the right and an empty group between them that grows to fill the gap and carries a 2px dotted currentColor bottom border. The eye travels the leader from name to price, and the prices line up down the right edge of each column. Over each course a heavy 3px rule and a course number at the right give the three columns a structural mark that holds in greyscale.
Dish names and prices are the second mass on the section, a bare clamp(1.125rem, 1.35vw, 1.375rem), and the descriptions under them are body size, so the menu reads without leaning in.
Make it yoursVariations and the edits to make first
What to change first
The dishes and prices, the service times and address in the opening line, and the note in the foot. Add or remove a dish by duplicating its row group; the leader comes with it.
Theme behaviourInheritance, fixed decisions and contrast
What it inherits from your theme
- The ground is
baseand every line of type iscontrast, each a two-rung chain, at 4.5:1 or better in the stock themes. - The course rules and the dotted leaders are
currentColor. - The label and the course numbers start on
role-labeland fall through tocontrast. - The heading is off the type ladder on purpose, a bare
clamp(3rem, 6vw, 7rem): its size is the composition. Course headings sit on the ladder atx-large, descriptions and notes atmedium. - The button is your theme's own filled button; the typeface is your theme's.
What it decides for itself
- The courses are a grid with a 19rem minimum column: three columns at 1280 and wider, two at 820, one on a phone.
- The dish row is
nowrapwithspace-between. On a phone a long name wraps to two lines, the leader shortens and the price stays on the right.
Technical notesBlock mechanics, responsive behaviour and constraints
The Styled look
butter-and-oxblood is a bistro: butter yellow #f6e7b8, near-black #1f1a14 type (14:1) and oxblood #7a1f2b prices, labels and button (8.3:1), with italic Big Caslon display and course headings over Futura descriptions.
Questions
Menu course columns: common questions
Does Menu course columns need a plugin?
No. It is built only from core WordPress blocks (button, buttons, group, heading and paragraph), so it pastes into the block editor with nothing to install.
Will Menu course columns match my theme?
Choose by variation. Course columns takes your theme’s palette; Butter and oxblood brings its own colours.
How many variations does Menu course columns have?
2: Course columns and Butter and oxblood. Each is its own markup; choose one in the toolbar above the preview before you copy.
Is Menu course columns free?
It is included with a subscription, with every Core Pattern and variation. 56 Core Patterns are free to copy without one.
Which WordPress version does it need?
Requires a block theme on WordPress 7.0. Classic themes and page builders are outside our supported setup. Adaptive patterns use the block theme’s colour, spacing and typography presets; styled variations declare their own colours or type.
The markup
Core block markup and nothing else. Copy it, then paste it straight into the block editor: WordPress reads the delimiters and rebuilds the blocks.
Fetching the markup…
Variation: Butter and oxblood
Fetching the markup…