This plugin requires a BailaYa account. BailaYa (https://www.bailaya.com) is a third-party dance studio management service, operated by Infinity Curve LLC. The plugin displays and manages data held in your BailaYa studio, so it does nothing on its own — you need a BailaYa studio and its Studio ID for any of it to work. Signing up is done at https://www.bailaya.com, not through this plugin.
See the External services section below for exactly what data is sent to BailaYa and when.
BailaYa for WordPress puts your dance studio’s live data on your own website. Class schedules, events, instructors, class packages and studio locations are pulled from your BailaYa account and rendered on your pages — no copy-pasting, no going stale.
Everything on display uses BailaYa’s public API and needs nothing more than your Studio ID.
Studios that add an API key also get a BailaYa admin menu for managing classes, events, students, instructors, team members, packages, rooms and locations without leaving WordPress. Optionally, visitors can sign in to your site with their BailaYa account (OpenID Connect).
Blocks and shortcodes
- Class Schedule —
[bailaya_class_schedule] - Class Schedule by Type —
[bailaya_class_schedule_by_type type="salsa"] - Event Schedule —
[bailaya_events] - Instructor List —
[bailaya_instructors] - Studio Profile Card —
[bailaya_studio_profile] - User Profile Card —
[bailaya_user_profile id="user-123"] - Private Lesson Instructors —
[bailaya_private_lesson_instructors] - Class Packages —
[bailaya_packages] - Locations —
[bailaya_locations]
Every block and shortcode accepts an override_id so a single site can show more than
one studio, and exposes its CSS class names so you can style it to match your theme.
Languages
The plugin ships translations for the same six languages as BailaYa itself: English, Spanish, French, German, Russian and Georgian. It follows your site’s language automatically.
Locations
Studios can have several locations. [bailaya_locations] lists them all, primary
first, each with its address and a link to open it in Google Maps.
The Studio Profile Card shows the primary location, falling back to the studio’s plain address for studios that have no locations configured. Pass show_all_locations=”true” (or tick Show all locations on the block) to list every one instead.
Managing your studio from WordPress
Add an API key under Settings → BailaYa to unlock the BailaYa admin menu:
- Classes and Events — create (including weekly recurrence), edit and delete
- Students, Instructors and Team — create, edit and delete
- Packages — create, edit, activate and deactivate
- Rooms and Locations — create, edit and delete
Managing this data requires the manage_options capability. Deleting a package that
still has active subscribers is refused — deactivate it instead, which stops new sales
while leaving existing subscriptions intact.
Sign in with BailaYa
Turn on Sign in with BailaYa to add a sign-in button to the WordPress login screen. Visitors authenticate against BailaYa’s OpenID Connect provider (authorization code with PKCE) and are matched to a WordPress account — first by a previously linked BailaYa account, then by email address. Sign-in is refused if BailaYa reports the address as unverified. With auto-create off, only people who already have a WordPress account can sign in.
Because these accounts are created for people who are not logged in, the role given to them is fixed at Subscriber — the lowest-privilege WordPress role — and cannot be changed. An auto-created account can never administer the site, manage other users, publish content or post unfiltered HTML.
The bailaya_oauth_login action fires after a successful sign-in with the WP_User,
the OIDC claims and the tokens.
External services
This plugin connects to the BailaYa API to fetch and manage your studio’s data. It is required for the plugin to do anything: without it there is no schedule, no instructor list and no way to manage your studio.
What is sent, and when
- On any page that renders a BailaYa block or shortcode, the plugin requests your
studio’s public data from
https://www.bailaya.com/api/public/.... The request carries your Studio ID (and, where relevant, the user ID or dance type named in the shortcode). Responses are cached in WordPress transients for the cache lifetime you configure. - If you enter an API key or access token, the plugin sends it as a bearer token
to
https://www.bailaya.com/api/v1/...when you use the BailaYa admin screens, along with whatever data you enter there (class, student, package details, and so on). - If you enable Sign in with BailaYa, the person signing in is redirected to https://www.bailaya.com/api/oidc/…. BailaYa returns their profile claims (name and email address) so a WordPress account can be matched or created.
No data is sent to BailaYa for visitors who merely browse your site, beyond the request your server makes for the studio’s public data.
The API base URL is configurable, so self-hosted BailaYa installations can point the plugin elsewhere.
BailaYa (https://www.bailaya.com) is a service operated by Infinity Curve LLC. By using this plugin you are sending data to, and receiving data from, that service:
- Terms of Service: https://www.bailaya.com/terms
- Privacy Policy: https://www.bailaya.com/privacy