BookSite.
BlogPorównaniaBranżeCennik
Artykuł · 16 min

Jak osadzić widget rezerwacji BookSite na WordPress

Krok po kroku: domena w panelu BookSite, kod skryptu, wtyczki WPCode i Insert Headers, functions.php motywu potomnego, Elementor, Gutenberg i rozwiązywanie problemów.

  1. Strona główna
  2. /Blog
  3. /Jak osadzić widget rezerwacji BookSite na WordPress
Na tej stronie
  • Co dostajesz po instalacji
  • Czego potrzebujesz przed startem
  • Krok 1 — dodaj domenę w panelu BookSite
  • Krok 2 — skopiuj kod instalacji
  • Wariant zalecany: pływający przycisk (FAB)
  • Alternatywa: stały blok rezerwacji w treści
  • Krok 3 — wklej kod na WordPressie
  • Metoda A — wtyczka do nagłówka (najprostsza dla laików)
  • Metoda B — functions.php motywu potomnego (dla własnego motywu)
  • Metoda C — Elementor, Divi, Bricks i inne page buildery
  • Metoda D — edytor blokowy Gutenberg (tylko wariant iframe)
  • Metoda E — WooCommerce i sklep na WordPressie
  • Własny przycisk zamiast pływającego FAB
  • Krok 4 — sprawdź, czy działa
  • Rozwiązywanie problemów
  • Przycisk się nie pojawia
  • Widget ładuje się na localhost, ale nie na produkcji
  • Konflikt z wtyczką optymalizacji lub CSP
  • Strona w trybie maintenance lub hasło
  • Bezpieczeństwo i RODO
  • Najczęstsze pytania
Czat online

Diana

Poza godzinami pracy

Czat: 8:00–22:00

Masz pytanie o rezerwacje, koszty lub demo? Napisz — odpowiemy w czasie rzeczywistym.

Demo concierge

Wyślij link do profilu lub cennika — przygotujemy podgląd na Twoich usługach w 24 h.

Przydatne linki
  • Cennik
  • Booksy vs BookSite
  • Widget na WordPress

Masz stronę na WordPressie i chcesz, żeby klienci umawiali wizyty bez dzwonienia? Widget BookSite to jeden fragment kodu — po wklejeniu na stronę pojawia się przycisk „Rezerwuj online” i pełny kalendarz z Twoimi usługami, cenami i SMS-ami potwierdzającymi. WordPress zostaje bez zmian: nie przebudowujesz motywu ani nie instalujesz ciężkiej wtyczki z marketplace.

Dla kogo jest ten przewodnik

Piszemy prostym językiem dla właścicieli gabinetów, salonów i klinik — bez żargonu programistycznego. Jeśli korzystasz z agencji, prześlij im sekcję z kodem PHP lub link do tego artykułu.

Co dostajesz po instalacji

  • Pływający przycisk rezerwacji (FAB) w rogu ekranu — widoczny na każdej podstronie WordPressa.
  • Pełnoekranowy formularz: wybór usługi, specjalisty, terminu i dane kontaktowe klienta.
  • Synchronizacja z kalendarzem BookSite — te same terminy co w panelu, bez podwójnego wpisywania.
  • SMS z potwierdzeniem i przypomnieniem (w aktywnym planie).
  • Możliwość własnego przycisku w treści strony zamiast pływającego FAB.

Plan Widget BookSite (Plan Widget (dla gabinetów z działającą stroną WWW): 129 zł brutto miesięcznie przy rozliczeniu rocznym — 1419 zł brutto na rok (11 miesięcy opłaconych, jeden gratis)) jest przeznaczony właśnie dla firm, które mają już działającą stronę — np. na WordPressie — i chcą dodać rezerwację bez prowizji od wizyt.

Cennik

Plany Widget i Strona + Rezerwacje

Porównaj abonament i funkcje — widget drop-in vs gotowa strona BookSite.

→

Czego potrzebujesz przed startem

  • Konto BookSite z aktywnym planem Widget (lub trialem) oraz uzupełnioną ofertą usług.
  • Dostęp do panelu WordPress (rola administratora lub edytora z uprawnieniami do wtyczek).
  • Adres swojej strony — np. mojgabinet.pl (bez https:// i bez końcowego slasha).
  • 5–15 minut na skopiowanie kodu i sprawdzenie podglądu.

Krok 1 — dodaj domenę w panelu BookSite

To najważniejszy krok, który często pomijają. BookSite zezwala na osadzenie widgetu tylko na domenach wpisanych na Twojej liście — dzięki temu nikt obcy nie może podpiąć Twojego kalendarza pod cudzą stronę.

  • Zaloguj się do panelu BookSite → sekcja Widget.
  • W polu „Domena strony, gdzie wkleisz kod” wpisz adres witryny WordPress, np. mojgabinet.pl (bez www — system sam rozpoznaje obie wersje).
  • Jeśli testujesz na subdomenie staging, dodaj też np. staging.mojgabinet.pl.
  • Zapisz. Bez tego widget na żywej stronie może się nie załadować.
Ważne

Domena w panelu BookSite to adres Twojej obecnej strony WordPress — nie adres panelu BookSite ani subdomeny booksite.pl, chyba że tam faktycznie hostujesz witrynę.

Krok 2 — skopiuj kod instalacji

W panelu BookSite → Widget znajdziesz unikalny identyfikator witryny (SITE_ID) i gotowy skrypt. Poniżej przykład — zamiast TWOJE_SITE_ID wklej wartość z panelu.

Wariant zalecany: pływający przycisk (FAB)

Jeden skrypt w nagłówku strony wystarczy, żeby przycisk rezerwacji był widoczny wszędzie — na stronie głównej, blogu, cenniku i kontakcie. Skrypt ładuje się z CDN BookSite (osobny host, szybki cache, bez cookies marketingowych).

Kod FAB — wklej w <head> lub przed </body>
<script src="https://cdn.booksite.pl/embed/widget-fab/TWOJE_SITE_ID" async></script>

Alternatywa: stały blok rezerwacji w treści

Jeśli wolisz kalendarz osadzony w konkretnym miejscu strony (np. pod opisem usług) zamiast pływającego przycisku — użyj drugiego skryptu i wklej go blokiem HTML tylko na wybranej podstronie.

Kod iframe — tylko na wybranej podstronie (blok HTML)
<script src="https://cdn.booksite.pl/embed/widget/TWOJE_SITE_ID" async></script>

Krok 3 — wklej kod na WordPressie

Wybierz metodę dopasowaną do tego, jak zarządzasz stroną. We wszystkich przypadkach chodzi o to samo: skrypt FAB trafia do nagłówka całej witryny, żeby działał globalnie.

Metoda A — wtyczka do nagłówka (najprostsza dla laików)

Nie musisz edytować plików motywu. Zainstaluj jedną z popularnych wtyczek i wklej skrypt w sekcji „Header” (nagłówek):

  • WPCode (dawniej Insert Headers and Footers) — Code Snippets → Add Snippet → typ „HTML Snippet” lub „Header & Footer” → wklej kod FAB → włącz na całej witrynie.
  • Insert Headers and Footers — Ustawienia → Insert Headers and Footers → pole „Scripts in Header” → wklej kod → Zapisz.
  • Code Snippets (autor Code Snippets Pro) — nowy snippet typu „HTML”, lokalizacja „Site Wide Header”.
  • Header Footer Code Manager — dodaj nowy snippet, pozycja „Head”, strony „Entire site”.
Wskazówka

Po zapisaniu wyczyść cache — jeśli używasz WP Rocket, LiteSpeed Cache, W3 Total Cache lub cache hostingu, odśwież stronę w trybie incognito, żeby zobaczyć przycisk.

Metoda B — functions.php motywu potomnego (dla własnego motywu)

Jeśli masz motyw potomny (child theme) i wolisz nie instalować kolejnej wtyczki, dodaj krótką funkcję PHP. Edytuj plik functions.php motywu potomnego — nigdy samego motywu nadrzędnego, bo aktualizacja motywu nadpisze zmiany.

functions.php — skrypt w wp_head (zalecane)
/**
 * BookSite — widget rezerwacji na WordPress
 * Wklej do functions.php motywu potomnego (child theme)
 * lub jako snippet PHP w WPCode / Code Snippets (uruchom na froncie).
 */
function booksite_widget_in_head() {
    if ( is_admin() ) {
        return;
    }
    ?>
    <script src="https://cdn.booksite.pl/embed/widget-fab/TWOJE_SITE_ID" async></script>
    <?php
}
add_action( 'wp_head', 'booksite_widget_in_head', 5 );

Tę samą funkcję możesz wkleić jako snippet PHP w WPCode zamiast edytować plik ręcznie — wybierz „PHP Snippet”, uruchomienie „Everywhere” lub „Frontend only”, bez uruchamiania w panelu admina.

Opcja: wp_enqueue_script w stopce (z atrybutem async)
/**
 * BookSite — alternatywa z wp_enqueue_script (stopka strony).
 * Atrybut async dodajemy filtrem — bez tego skrypt ładuje się synchronicznie.
 */
function booksite_widget_enqueue() {
    if ( is_admin() ) {
        return;
    }
    wp_enqueue_script(
        'booksite-widget-fab',
        'https://cdn.booksite.pl/embed/widget-fab/TWOJE_SITE_ID',
        array(),
        null,
        true
    );
}
add_action( 'wp_enqueue_scripts', 'booksite_widget_enqueue' );

function booksite_widget_async( $tag, $handle ) {
    if ( 'booksite-widget-fab' !== $handle ) {
        return $tag;
    }
    return str_replace( ' src', ' async src', $tag );
}
add_filter( 'script_loader_tag', 'booksite_widget_async', 10, 2 );

Metoda C — Elementor, Divi, Bricks i inne page buildery

  • Elementor Pro: Szablony → Theme Builder → Header (lub Custom Code w Elementor → Custom Code → Head) → wklej skrypt FAB globalnie.
  • Elementor (bez Pro): użyj wtyczki z Metody A — builder nie blokuje skryptu w head.
  • Divi: Divi → Theme Options → Integrations → „Add code to the < head > of your blog” → wklej skrypt.
  • Bricks / Oxygen: sekcja Global Scripts / Code → Head.
  • Dla bloku iframe na jednej podstronie: widget HTML w edytorze strony → wklej INLINE_SCRIPT w wybranym miejscu.

Metoda D — edytor blokowy Gutenberg (tylko wariant iframe)

Sam blok „Własny HTML” na jednej stronie nie wystarczy dla pływającego przycisku na całej witrynie — do FAB nadal użyj Metody A lub B. Na pojedynczej podstronie „Rezerwacja” możesz dodać blok Własny HTML i wkleić skrypt iframe.

  • Otwórz stronę w edytorze WordPress.
  • Dodaj blok „Własny HTML” (Custom HTML).
  • Wklej kod INLINE_SCRIPT.
  • Opublikuj i sprawdź podgląd.

Metoda E — WooCommerce i sklep na WordPressie

Sklep WooCommerce to nadal WordPress — skrypt FAB w nagłówku działa na stronach produktów i checkoutu. Jeśli nie chcesz przycisku na koszyku, skorzystaj z wtyczki WPCode z regułą wykluczającą URL /cart i /checkout albo użyj własnego przycisku tylko na wybranych stronach (patrz niżej).

Własny przycisk zamiast pływającego FAB

W panelu BookSite możesz ukryć domyślny pływający przycisk i otwierać kalendarz z dowolnego elementu na stronie — przycisku w menu, banera Elementora lub linku w treści. Wystarczy atrybut id="booksite-widget".

Przykład przycisku w treści strony
<a href="#" id="booksite-widget">Umów wizytę online</a>
  • Skrypt FAB musi być załadowany globalnie (Metoda A lub B).
  • Element z id="booksite-widget" może być linkiem, przyciskiem DIV lub przyciskiem Elementora — ważne jest dokładnie to id.
  • Możesz mieć kilka takich elementów na stronie — wszystkie otworzą ten sam kalendarz.

Krok 4 — sprawdź, czy działa

  • Otwórz podgląd widgetu z panelu BookSite lub adres https://cdn.booksite.pl/embed/widget?site=TWOJE_SITE_ID — zobaczysz formularz tak, jak klient.
  • Na stronie WordPress odśwież witrynę w trybie incognito (bez cache).
  • Powinien pojawić się przycisk rezerwacji (lub Twój własny trigger).
  • Kliknij, wybierz usługę i termin testowy — rezerwacja powinna trafić do kalendarza w panelu.

Rozwiązywanie problemów

Przycisk się nie pojawia

  • Sprawdź domenę na liście dozwolonych w panelu BookSite (Krok 1).
  • Upewnij się, że SITE_ID w skrypcie jest identyczne jak w panelu — bez spacji i cudzysłowów.
  • Wyłącz na chwilę adblock i odśwież stronę.
  • Wyczyść cache WordPressa i CDN (Cloudflare, hosting).
  • W narzędziach deweloperskich przeglądarki (F12 → Console) szukaj błędów ładowania skryptu.

Widget ładuje się na localhost, ale nie na produkcji

Domena produkcyjna musi być dodana w panelu. Localhost i domeny .local działają tylko podczas developmentu — na żywo wpisz prawdziwy adres.

Konflikt z wtyczką optymalizacji lub CSP

Niektóre wtyczki agresywnie łączą lub opóźniają skrypty zewnętrzne. Dodaj https://cdn.booksite.pl do wyjątków w WP Rocket („Excluded JavaScript”) lub wyłącz minifikację JS na próbę. Jeśli hosting ustawia Content-Security-Policy, dozwól script-src dla https://cdn.booksite.pl.

Strona w trybie maintenance lub hasło

Widget działa dla odwiedzających, którzy widzą publiczną stronę. W podglądzie zalogowanego admina czasem cache pokazuje starą wersję — testuj w incognito.

Bezpieczeństwo i RODO

  • Skrypt ładuje formularz rezerwacji z infrastruktury BookSite — dane klientów trafiają do Twojego panelu zgodnie z regulaminem i polityką prywatności BookSite.
  • Nie wklejaj kodu z nieznanych źródeł — używaj wyłącznie snippetu z panelu BookSite.
  • Motyw potomny i wtyczki snippetów aktualizuj regularnie; backup przed edycją functions.php to dobry nawyk.

Najczęstsze pytania

Poniżej skrót odpowiedzi — pełna lista w sekcji FAQ na tej stronie (widoczna też dla wyszukiwarek).

  • Czy to wtyczka WordPress? — Nie, to jeden skrypt JS; nie szukaj „BookSite” w katalogu wtyczek.
  • Czy muszę znać PHP? — Nie, wtyczka do nagłówka wystarczy.
  • Czy działa z cache? — Tak, po dodaniu wyjątku lub wyczyszczeniu cache.
  • Czy mogę mieć WordPress i BookSite Stronę jednocześnie? — Tak; plan Widget jest dla istniejącej witryny, plan Strona to gotowa strona na BookSite.

Porównanie

Booksy vs BookSite — widget na własnej stronie

Jeśli rozważasz rezygnację z portalu na rzecz własnej rezerwacji na WordPressie.

→

Artykuł

System rezerwacji online bez prowizji

Abonament zamiast procentu od wizyt — co to znaczy dla gabinetu.

→
Potrzebujesz pomocy przy wdrożeniu?

Zespół BookSite może przygotować bezpłatny podgląd widgetu na Twoich usługach i cenach — wyślij link do strony WordPress lub profilu z Instagrama. W panelu znajdziesz też checklist wdrożenia i link do podglądu na żywo.

Powiązane treści

Czytaj dalej

Artykuł

System rezerwacji online bez prowizji

→

Porównanie

Booksy vs BookSite — pełna tabela

→

Artykuł

Alternatywa dla Booksy — kiedy warto mieć własną stronę z kalendarzem

→
BookSite.

Własna strona internetowa z systemem rezerwacji online, kalendarzem wizyt i automatycznymi powiadomieniami SMS.

0% prowizji od rezerwacji — pełna kontrola nad klientami i stały miesięczny koszt bez opłat od każdej wizyty.

Dla branż

  • Wszystkie branże
  • Medycyna estetyczna
  • Kosmetologia
  • Fizjoterapia
  • Stomatologia

Dla branż

  • SPA & Wellness
  • Barber
  • Trening personalny
  • Studio tatuażu

Blog

  • Wszystkie artykuły
  • Booksy vs BookSite
  • Widget na WordPress
  • Alternatywa dla Booksy

BookSite

  • Cennik
  • Jak działa
  • Kontakt

© 2026 BookSite. Wszelkie prawa zastrzeżone.

Polityka prywatnościRegulamin