Skip to main content
Help centre

Add class booking to your WordPress website

Show your class timetable, packs and memberships on WordPress with the free Junocal Booking plugin or one Custom HTML block. Tips for Elementor too.

9 min readLast reviewed

Quick answer

Install the free Junocal Booking plugin, paste your booking link under Settings → Junocal Booking and add the Junocal Booking block to a page. Or open Booking page → Embed in Junocal and copy the code. In WordPress, add a Custom HTML block to your booking page, paste the code and publish. In Elementor, use an HTML widget. If a speed plugin delays JavaScript, add junocal.com/widget.js to its exclusions so the schedule shows straight away. On WordPress.com, the live schedule needs a plan that allows plugins, with hosting features activated.

Before you begin

  • At least one published class, course or product in Junocal, so the page has something to show.

  • Owner or admin access in Junocal, and a WordPress role that can install plugins or save HTML, such as Administrator.

  • For a WordPress.com site, a plan that allows plugins, with hosting features activated. Sites you host yourself don't need one.

You'll know it worked when

  • In a private window, the published page shows your timetable rather than code, a blank space or a plain link.

  • Choosing a class opens your Junocal booking page at the right class, date and price.

  • On a phone, the timetable fits the screen without sideways scrolling.

Follow along in Junocal

Open the exact product area, then keep this guide beside it.

Open Embed

Use the Junocal Booking plugin

Junocal Booking is the official Junocal plugin, free in the WordPress plugin directory at wordpress.org/plugins/junocal-booking. It adds your live timetable to any page without code. Clients browse on your WordPress page, then book and pay on your secure Junocal booking page. Payments go to your own Stripe account, and your page updates by itself when you add a class or cancel a session in Junocal.

  1. 1

    In WordPress, open Plugins → Add New, search for Junocal Booking, then select Install Now and Activate.

  2. 2

    Open Settings → Junocal Booking, paste the link to your Junocal booking page, such as https://junocal.com/your-studio, and select Save Changes.

  3. 3

    Edit the page where clients should book, select the + button and add the Junocal Booking block.

  4. 4

    In the block's settings, choose what to show: your full booking page, or just the schedule, courses, class packs, memberships, appointments or your enquiry form.

  5. 5

    Select Update or Publish, then open the page in a private window and check it on your phone.

Or paste the embed code

Prefer not to add a plugin? The embed code shows the same booking page and works in any WordPress block, widget or page builder that accepts HTML.

  1. 1

    In Junocal, open Booking page → Embed. Choose Full booking page to show classes, appointments, packs and memberships together, or pick one section such as Schedule, Courses or Memberships.

  2. 2

    Adjust the look if you need to, such as the theme or button colour, then select Copy under Copy this code.

  3. 3

    In WordPress, open the page where clients should book, such as Timetable or Book a class.

  4. 4

    Select the + button, search for Custom HTML and add the block.

  5. 5

    Paste the code into the block, then select Update or Publish.

  6. 6

    Open the published page in a private window and check it on your phone. Choose a class and follow it to checkout without paying.

Elementor, the classic editor and widget areas

The same code works anywhere WordPress accepts HTML. Paste the whole code, including the script line at the end.

  • Elementor: drag an HTML widget onto the page, paste the code and select Update.

  • Other page builders: use the builder's HTML or Code element.

  • Classic editor: switch to the Text tab, paste the code where the schedule should appear and select Update.

  • Sidebars and footers: add a Custom HTML block or widget to that area and paste the code.

If the schedule doesn't appear

Visitors who can't run the script still see a plain “Book [your studio] online” link. It opens your full Junocal booking page, so nobody is stuck. These are the usual reasons the schedule itself doesn't show:

  • A speed plugin delays JavaScript until a visitor scrolls or taps, such as WP Rocket's Delay JavaScript execution or LiteSpeed Cache's JS Delayed. Add junocal.com/widget.js to that plugin's JavaScript exclusions so the schedule shows straight away.

  • A cookie banner blocks scripts it doesn't recognise. The booking widget doesn't load analytics or advertising trackers, so mark junocal.com as necessary or functional in your consent plugin.

  • WordPress removed the code when you saved. Only some WordPress roles can save scripts, so ask your site administrator to paste it.

WordPress.com sites

On WordPress.com, both the Junocal Booking plugin and scripts in a Custom HTML block need a plan that allows plugins, with hosting features activated (WordPress.com support pages, checked 20 October 2026).

On other WordPress.com plans, the script is removed, so visitors see the plain booking link instead of the schedule. For a clearer call to action, add a Buttons block that links to your Junocal booking page. Your booking page also works on its own link, so you can share it on Instagram, Google and in emails.

Moving from another booking widget

If your WordPress site shows a timetable from another booking system, it usually sits in one block, widget or shortcode. Switching to Junocal means replacing that one piece. Your pages and design stay as they are.

  1. 1

    Export your client list from your current system as a CSV and import it into Junocal through Migrate.

  2. 2

    Set up your weekly classes, packs and memberships in Junocal, and connect your own Stripe account.

  3. 3

    Publish the Junocal code on a new page that isn't in your menu yet, and test a booking there.

  4. 4

    On your switch date, replace the old widget or shortcode on your booking page with the Junocal code and update the page.

  5. 5

    Email clients the booking link and keep your original export as a backup.

Troubleshooting

Start with the symptom that matches what you can see. Check the existing record before repeating a booking, payment or import.

Visitors see a plain booking link until they scroll or tap

Check these first

  • Check whether a speed plugin delays JavaScript, such as WP Rocket's Delay JavaScript execution or LiteSpeed Cache's JS Delayed.

  • Open the page in a private window and wait without scrolling. If the schedule appears only after you scroll or tap, the script is being delayed.

Next step: Add junocal.com/widget.js to that plugin's JavaScript exclusions, clear its cache and check the page again in a private window.

The schedule shows for you but not for new visitors

Check these first

  • Check whether your cookie or consent plugin blocks scripts it doesn't recognise until a visitor accepts.

  • Open the page in a private window without accepting the banner.

Next step: Mark junocal.com as necessary or functional in the consent plugin. The booking widget doesn't load analytics or advertising trackers.

The code disappears or shows as text after you save

Check these first

  • Check that the code went into a Custom HTML block or an HTML widget, not a Paragraph block.

  • Check your WordPress role. Only some roles can save scripts, and WordPress.com removes them on plans without plugins.

Next step: Paste the code into a new Custom HTML block as an Administrator, or link a Buttons block to your Junocal booking page if your plan removes scripts.

Answers before you get stuck

Can I add class booking to a WordPress site?

Yes. Install the free Junocal Booking plugin, paste your booking link under Settings → Junocal Booking and add the Junocal Booking block. Or copy the code from Booking page → Embed in Junocal into a Custom HTML block. Clients see your live timetable, then book and pay through your own Stripe account.

Is there a Junocal plugin for WordPress?

Yes. Junocal Booking is free in the WordPress plugin directory. It adds a Junocal Booking block and a [junocal] shortcode that show your full booking page, schedule, courses, packs, memberships, appointments or enquiry form.

Why does my WordPress page show a booking link instead of the schedule?

Usually a speed plugin is delaying JavaScript, or a cookie plugin is blocking it. Add junocal.com/widget.js to the speed plugin's JavaScript exclusions, and mark junocal.com as necessary or functional in your consent plugin.

Does the Junocal code work on WordPress.com?

Yes, on a WordPress.com plan that allows plugins, with hosting features activated. On other WordPress.com plans, scripts are removed, so link a Buttons block to your Junocal booking page.

Does Junocal take a percentage of bookings made through my WordPress site?

Not on paid plans. Starter, Studio and Growth have no Junocal transaction fee, and clients pay through your own Stripe account. The Free plan has a 4% Junocal fee instead of a monthly subscription.

What's the best WordPress booking plugin for a class studio?

Choose one built for classes, not just appointments: class capacity, waitlists, class packs that use a credit per booking, memberships and courses. The free Junocal Booking plugin shows all of these from your Junocal account, and payments go to your own Stripe account. It suits yoga, pilates, barre, dance and fitness studios, personal trainers and music teachers.

Did this guide solve the problem?

Make the change, or ask with your account attached

Open the relevant Junocal screen now. If your question depends on a particular client, payment or class, contact support from the app to include the page and studio context.