Skip to main content

WordPress integration

This option is the right fit if your site runs on WordPress and you want to manage the widget from the admin panel, shortcodes, or a combination of both, without maintaining custom JavaScript for each page.

What you need

  • Administrator access to WordPress.
  • Online booking enabled for the location.
  • The correct slug for the profile or location you want to show.

Install the plugin

The fastest path is:

  1. Sign in to WordPress admin.
  2. Open Plugins -> Add New.
  3. Search for Reservation.Studio Widget.
  4. Install and activate the plugin.
  5. Open the RS Widget menu.

If needed, you can also upload the plugin as a ZIP file through Upload Plugin.

Choose the right WordPress path

The plugin supports three different workflows:

  • Global RS Widget settings: one shared modal widget for the whole site.
  • Shortcodes generator: separate buttons, links, or iframe embeds for specific pages.
  • Manual shortcode: direct control over attributes inside page content or templates.

In practice:

  • if you want one shared button or modal for the whole site, start with RS Widget;
  • if different pages should open different locations, profiles, or categories, use shortcodes;
  • if you want booking visible directly inside page content, use [reservation_studio_embed].

Configure the shared modal widget

In the RS Widget page you configure the shared modal widget for the site:

  • Enable widget
  • Page type
  • Slug
  • Language

Then, if needed, you can also add:

  • a sticky button;
  • modal window size;
  • a CSS selector for elements that should open the widget.

This screen is best when you want one shared modal widget for the site, managed through WordPress settings.

What the main fields mean

  • Page type defines what opens: location profile, services catalog, classes, or business profile.
  • Slug defines which exact profile opens.
  • Language supports Auto detect, English, and Bulgarian.
  • Enable widget turns the shared modal widget on for the site. If it is off, shortcode embeds can still work, but the shared modal widget will not initialize.

Important:

  • the global settings screen does not provide a separate location_service_category option;
  • if you need a specific service-category target, use the shortcode generator or a manual shortcode override.

Sticky button settings, CSS selector settings, and modal size stay here because they belong to the shared modal widget. The detailed field reference is available in JavaScript integration, where the common widget configuration is now documented.

Use shortcodes for page-specific targets

If you want different pages or buttons to open different targets, use RS Widget -> Shortcodes.

This is a built-in page inside the plugin, not an external tool. In WordPress admin it is registered as a separate submenu under RS Widget and opens a dedicated Shortcodes generator screen.

The plugin supports three shortcode variants:

  • [reservation_studio_button]
  • [reservation_studio_anchor]
  • [reservation_studio_embed]

Important:

  • button and anchor open a modal widget;
  • embed loads the booking content as an iframe directly in the page;
  • embed does not use a modal trigger. The booking flow is shown inline in the page content.

What you can override per shortcode

At shortcode level you can override:

  • slug
  • page_type
  • language
  • utm
  • class

Additionally:

  • for button and anchor: label
  • for embed: width, height, loading, title

If the shortcode body contains text, that text becomes the visible label. The label attribute is useful when the shortcode is short and has no own content.

In practice this means:

  • the shortcode generator gives you ready-to-paste code without remembering every attribute;
  • manual shortcodes are more convenient inside a page builder, template, or custom block;
  • the preview intentionally omits attributes that are identical to the current global settings or built-in defaults.

What the shortcode generator includes

The built-in RS Widget -> Shortcodes screen provides:

  • shortcode type selection: button, anchor, or embed;
  • booking target fields for Slug and Page type;
  • language selection;
  • separate fields for UTM source, UTM medium, UTM campaign, UTM content, and UTM term;
  • display options such as extra CSS classes;
  • a Label field for modal shortcodes;
  • embed-only fields for width, height, loading, and title;
  • a ready-to-copy Generated shortcode preview.

This is the fastest path for a developer or content editor to build a working shortcode without remembering every attribute manually.

Important:

  • [reservation_studio_button] and [reservation_studio_anchor] use the modal widget runtime;
  • [reservation_studio_embed] does not open a modal and renders an iframe directly in the page;
  • if you want to work with custom trigger elements and data-* overrides, that flow is documented in JavaScript integration.

Examples

Shared modal widget from the admin panel

Use RS Widget when you want:

  • one shared site-wide button;
  • one shared booking target, for example the services catalog of a main location;
  • WordPress-managed sticky button and modal sizing.

Button with body content

[reservation_studio_button slug="my-location" page_type="location_profile"]Book now[/reservation_studio_button]

Here the visible label is Book now because it is passed inside the shortcode body.

Button with label attribute

[reservation_studio_button slug="my-location" page_type="location_profile" language="en" label="Book now"]

This variant is useful when you want a shorter shortcode without a closing tag.

[reservation_studio_anchor slug="my-location" page_type="location_services" class="my-booking-link" utm='{"source":"newsletter","medium":"email","campaign":"spring"}']Book via link[/reservation_studio_anchor]

Inline iframe for a service category

[reservation_studio_embed slug="my-location" page_type="location_service_category" language="en" height="760" class="booking-frame"]

This variant:

  • does not open a modal widget;
  • renders an iframe directly inside the page;
  • works well for landing pages, dedicated booking pages, or page-builder sections.

How to choose the right WordPress path

  • Use the global RS Widget settings when you want one shared modal widget for the whole site.
  • Use shortcode button or link when different pages need different locations, different page_type, or different language.
  • Use [reservation_studio_embed] when you want booking visible directly inside the page instead of a modal.