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
slugfor the profile or location you want to show.
Install the plugin
The fastest path is:
- Sign in to WordPress admin.
- Open Plugins -> Add New.
- Search for Reservation.Studio Widget.
- Install and activate the plugin.
- 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, andBulgarian. - 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_categoryoption; - 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:
buttonandanchoropen a modal widget;embedloads the booking content as an iframe directly in the page;embeddoes 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:
slugpage_typelanguageutmclass
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, orembed; - booking target fields for
SlugandPage type; - language selection;
- separate fields for
UTM source,UTM medium,UTM campaign,UTM content, andUTM term; - display options such as extra CSS classes;
- a
Labelfield for modal shortcodes; - embed-only fields for
width,height,loading, andtitle; - a ready-to-copy
Generated shortcodepreview.
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.
Link with UTM parameters
[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.