WordPress plugin

The Find a Ski School Plugin for WordPress

Find a Ski School Embeds puts your booking widget, your reviews, and your lesson catalogue on your own site — as ready-made embeds you drop onto a page, or as individual lesson values you place inside a design you build yourself.

  • WordPress 6.2+ and PHP 7.4+
  • Blocks and shortcodes
  • No front-end JavaScript
  • Private embed token

What it does

One plugin, two ways to use your content.

They are separate mechanisms. It is worth knowing which one you are using before you start building.

Ready-made embeds

Three widgets — booking, reviews, and lessons — that you drop onto a page as a block or a shortcode. You design them once in your Find a Ski School dashboard, and every site that shows them stays in step.

Dynamic lesson fields

25 values — 20 about a lesson and five about your account, among them title, price, duration, group size, image, and lesson link — that you bind into your own layout. Your fonts, your spacing, your grid, our lesson data.

The embeds

Three widgets, each with a block and a shortcode.

Booking widget

Your lessons and your checkout, on your own page. Add the FASS Booking block, or paste the shortcode anywhere shortcodes run.

[fass_booking]

Reviews widget

The reviews your students have left on Find a Ski School. Add the FASS Reviews block, or paste the shortcode.

[fass_reviews]

Lessons widget

Your lesson catalogue as a ready-made list, in the design you set in your dashboard. Add the FASS Lessons block, or paste the shortcode.

[fass_lessons]

Authenticated by a private token, not by your public profile address

Your profile address is public, so anyone could copy it. Embeds use a secret per-account token instead, which means a competitor cannot put your booking widget on their own site. Rotate the token in your dashboard and every existing embed is revoked instantly.

Page builders

What each page builder can actually do.

Support genuinely differs by builder, because their APIs differ. Here is the whole picture, including the two places where it stops.

Bricks Builder

Everything

A native query loop through a registered Find a Ski School query type, dynamic tags under a Find a Ski School group, and a ready-made Ski lessons element. Paging works too, using the Array query type. Verified against Bricks 2.3.11.

Elementor

Fields, plus our loop widget

Dynamic tags work in Elementor free — Pro is not required. Repeating a design over your lessons uses the Ski Lessons widget this plugin adds, because Elementor's Loop Grid reads WordPress posts and cannot take rows from anywhere else. Verified against Elementor 4.2.3.

WordPress block editor

Fields, plus our loop block

Block Bindings, on WordPress 6.5 and later. Repeating uses the FASS Lesson Loop block this plugin adds, because the core Query Loop resolves through WP_Query onto real WordPress posts.

Spectra

Works, through the block editor

Spectra is a block library built on top of the block editor, so the block-editor integration is the Spectra integration. Binding a Spectra block needs WordPress 6.9 — before that you can still bind core blocks inside the lesson loop. Read the note on Spectra Legacy below.

Breakdance and Oxygen 6

Dynamic fields; loop needs their Pro

One integration, because they are one engine underneath. Lesson fields appear under a Find a Ski School category — in their free tier too. Repeating a design over the catalogue uses their Repeater Field element, which is a Pro feature at their end. Their text elements do not run shortcodes, so use the fields. Verified against Breakdance 3.0 and Oxygen 6.1.

Beaver Builder

Ready-made module, in Lite

A Ski lessons module lists your catalogue with the same toggles as the Bricks element — in the free Lite version. The insert-a-dynamic-value UI belongs to Beaver Themer, not Beaver Builder, so individual values go in as [fass_field] shortcodes in a Text Editor or HTML module, which Lite renders in full. Verified against Lite 2.10.

Divi

Individual lessons only

Bind a chosen lesson's values into any Divi module. Divi cannot repeat a design over a list that lives outside WordPress, so for a full catalogue you use the lessons embed. Verified against Divi 4.27.7.

Oxygen Classic

Individual lessons, and every shortcode

Lesson fields live in the Insert Data browser under a Find a Ski School folder, and classic Oxygen runs shortcodes in every text element — so [fass_field] and the three embeds work anywhere. No loop over the catalogue: for that, use the lessons embed. Verified against 4.9.

WPBakery

The embeds as native elements

The three embeds and the single lesson field appear as elements under a Find a Ski School category, each with a real settings form. WPBakery has no dynamic-data system and its grids only read WordPress posts, so the lessons embed is the catalogue view. Verified against 9.0.

Divi cannot loop over your lessons

Divi's loop dispatch is a closed set, and the only hooks it opens to other plugins change WordPress query arguments — there is no route from there to a list held on our servers. In Divi you bind specific lessons into your design, and use the lessons embed wherever you want the whole catalogue. If a repeating Divi grid of your lessons is what you came for, this plugin will not give you one.

Spectra Legacy blocks cannot be bound at all

The older Spectra Legacy blocks — the ones whose names begin uagb/ — do not support Block Bindings, and they fail silently rather than showing an error. The plugin raises an admin notice when it finds them on your site. Rebuild those sections with current Spectra or core blocks, or use an embed there instead.

Step-by-step instructions for each builder are in the plugin's own readme, and in Settings once it is installed. More on the ready-made embeds

Not on WordPress?

The three embeds do not need the plugin at all. Each one is a few lines of HTML that work on any site that lets you paste an embed code — copy it once and you are done.

ShopifySquarespaceWixWebflowAny HTML page

Get the embed code

Design

Set the design once, override it only where you need to.

Card design, accent colour, corner radius, colour scheme, and whether images and prices show are all set in your Find a Ski School dashboard.

Designed in your dashboard

Card variant, accent colour, corner radius, colour scheme, show images, and show prices.

One design, every embed

A single switch applies the same design to every embed, so your widgets stay in step with one another.

Overridden per site

The plugin can override any of those settings on this WordPress site alone, without changing your dashboard.

Inherit is the default

Every override starts at inherit, so a design change in your dashboard reaches every site that has not deliberately opted out.

What you need

What it takes to run it.

  • WordPress 6.2 or later, and PHP 7.4 or later.
  • WordPress 6.5 or later if you want Block Bindings in the block editor.
  • A Find a Ski School account with an embed token.
  • Minting a token is a paid-plan entitlement. A token that has already been issued keeps working.

Setup

Four steps, once.

  1. Install the plugin

    Ask us for the plugin file, then upload it under Plugins, Add New, Upload Plugin — and activate it.

  2. Copy your embed token

    In your Find a Ski School dashboard, open the website embed card and copy the private token.

  3. Paste it and test

    Open Settings, then Find a Ski School, paste the token, and use Test connection to confirm it works.

  4. Add an embed, or build your own

    Insert a FASS block, paste a shortcode, or open your page builder and start binding lesson fields.

Limits

The edges, stated plainly.

50 lessons per embed

An embed returns at most 50 lessons. Bricks can page through those 50; the other builders show them as one list.

Refreshed about every 15 minutes

Lesson data is cached on your own server and refreshed roughly every 15 minutes, so an edit in your dashboard is not instant on your site.

A seven-day fallback copy

If findaskischool.com is unreachable, your page keeps showing the last good copy for up to seven days rather than going blank.

No front-end JavaScript

Lesson fields and lesson lists render on your server. The iframe embeds are iframes, and load in a visitor's browser like any other embedded content.

Questions

Questions people ask first.

If yours is not here, the plugin's own readme goes further into each builder.

Do I need Elementor Pro?
No. The dynamic tags work in Elementor free. The Ski Lessons widget that repeats a design over your catalogue comes from this plugin, not from Elementor.
Which builders can repeat a design over my whole catalogue?
Bricks, Elementor, and the WordPress block editor — which covers Spectra, because Spectra is built on the block editor. Divi cannot, so use the lessons embed there.
Can one WordPress site show more than one school?
One token per WordPress site. If you need more than one, run the plugin on separate sites, or get in touch.
What happens if my embed token leaks?
Rotate it in your Find a Ski School dashboard. The old token is revoked immediately, and every embed using it stops until you paste the new one into the plugin settings.
Will it slow my site down?
The plugin adds no front-end JavaScript, and lesson data is served from a cache on your own server. Once every fifteen minutes or so one page view refreshes that cache, which is the only time a visitor waits on us at all.
What does the plugin send to Find a Ski School?
Your embed token and your site's address, so the request can be attributed to your account. No visitor information is sent — the request happens on your server, not in your visitors' browsers.

Get started

Put your lessons on your own site.

Preview the embeds first to see how they will look, then follow the setup detail on the embeds help page.

No booking fees for skiers and learners, ever.