Spa
Import the Spa design and it brings blocks and content types of its own, on top of the main Canvas library. Read this page when you are working on a site built from Spa and meet a block you cannot find in the main reference.
These items stay registered on every site so that content you have already imported keeps rendering, and they appear in the block inserter only where the design is in use.
Content types this design adds
Treatments
canvas_spa_treatment
One item is called a Treatment. You will find them in their own admin menu once the design is installed.
- Editor features: editor, excerpt, page-attributes, thumbnail, title
- Grouped by: Treatment Categories (
canvas_spa_treatment_cat)
Each item carries these extra settings on its edit screen:
Duration
Treatment Price
Blocks this design adds
Spa Treatments
canvas-core/spa-treatments
Display priced treatments from the Treatments post type as price-list rows or tabbed category panes. In the block inserter it is named Canvas Spa Treatments.
Select the block on a page and its own settings open in the sidebar, in the panels below:
Layout
LayoutDefaultPrice Rows
Which part of the spa design this block draws. The first two list several treatments; each "Single Treatment" choice renders one section of the treatment page you place it on.
ChoicesPrice RowsCategory TabsSingle Treatment MetaSingle Treatment - Booking CTASingle Treatment - Back + Related
Query
Category SlugDefaultEmpty
Treatment Category term slug to filter by (cards layout). Empty = all treatments.
ItemsDefault
00 shows all items.
Order ByDefaultMenu Order
What decides the sequence of the treatments. Menu Order lets you arrange the price list by hand.
ChoicesMenu OrderDateTitle
OrderDefaultAscending
Which end of that sequence comes first.
ChoicesAscendingDescending
Display
Currency SymbolDefault
$Character printed before each price.
Row ClassesDefault
rowClass names on the row wrapping the price columns.
Column ClassesDefault
col-lg-6 service-wrapClass names on each price column, which is what sets how many columns the price list runs in.
Link Treatment NamesDefaultOn
Link each treatment name to its single page.
Landing Page SlugDefault
spa-homeSlug of the page carrying the price list. The single layouts resolve it to a portable permalink for the category link and the back button. Empty = no link.
Landing AnchorDefault
section-priceIn-page section id appended to the landing link (one-page designs). Empty = plain page link.
Related HeadingDefault
You may also likeTitle above the row of other treatments. Leave empty to show the row with no title.
Back Button TextDefault
Back to Our PricesWording on the button returning the reader to the price list. Leave empty for no button.
CTA Button TextDefault
Reserve NowWording on the booking button. Leave empty for no button.
CTA Page SlugDefault
spa-homeSlug of the page the booking button links to. Resolved to a portable permalink so the link is correct on any install / import. Empty = no button.
CTA AnchorDefault
section-contactIn-page section id appended to the CTA link (one-page designs). Empty = plain page link.
Settings
Tabs (Category Panes)DefaultEmpty
One row per tab. Each tab shows the price list for the treatment category it names.
Each row of Tabs (Category Panes) takes:
Category SlugDefaultEmpty
Which treatment category this tab lists.
Tab LabelDefaultEmpty
Wording shown on the tab button. Basic formatting is allowed, for a design that puts an icon or a line break in the label.
Pane IDDefaultEmpty
A name of your own for this tab's panel, so a link elsewhere on the page can open it. Leave empty and one is generated.
Tab Button IDDefaultEmpty
A name of your own for the tab button itself. Leave empty and one is generated from the panel name.
Tabs
Tabs Nav ClassesDefault
nav canvas-alt-tabs2 tabs nav-pills justify-content-center mb-5Class names on the strip of tab buttons, setting their look, alignment and the space under them.
Tabs Nav IDDefaultEmpty
A name of your own for the strip of tab buttons, so styling or a script can find it. Leave empty for none.
Tab Content ClassesDefault
tab-contentClass names on the area below the tabs that holds all the panels.
Tab Content IDDefaultEmpty
A name of your own for the panel area. Leave empty for none.
Tab Pane ClassesDefault
tab-paneClass names on every individual panel. Keep the base panel class or none of the tabs will hide.
Active TabDefault
1Which tab is open when the page loads, counted from the top of the list above.

