Szanujemy Twoją prywatność

Używamy plików cookies niezbędnych do działania strony. Za Twoją zgodą korzystamy też z cookies analitycznych (Google Analytics), żeby wiedzieć, co ulepszać, i marketingowych (piksel Meta, Google Ads), żeby mierzyć skuteczność reklam. Możesz zaakceptować wszystkie, odrzucić wszystkie albo wybrać samodzielnie. Polityka prywatności.

Kalkulator na stronę WordPress z Claude - od pomysłu do działającego narzędzia

Awatar Daniel Jeziorski

Chcesz mieć na stronie kalkulator. Wyceny, zapotrzebowania na coś, zwrotu z inwestycji. Widget w abonamencie kosztuje co miesiąc, wtyczka nie wygląda tak, jak chcesz, a programisty na takie drobiazgi szkoda.

Dobra wiadomość: taki kalkulator zrobisz z Claude jako jeden plik HTML, CSS i JavaScript. Najpierw testujesz go poza WordPressem, a potem osadzasz na stronie blokiem HTML, shortcode’em z małej wtyczki albo w ramce iframe. Wybór sposobu zależy od tego, kto edytuje stronę i jak długo narzędzie ma żyć.

Codziennie sobie coś klikam i w efekcie powstają mini apki, których nie robiłem, bo nigdy nie chciało mi się ich samemu kodować. Tak pisałem w newsletterze w 2025 roku. Od tamtej pory nauczyłem się, gdzie WordPress potrafi po cichu taki kalkulator zepsuć.

Stan opisany w tym wpisie: 21.10.2026.

Kiedy własny kalkulator ma sens, a kiedy wystarczy wtyczka

Lead magnet i zbieranie kontaktów

Kalkulator, który daje wynik w zamian za adres e-mail, to klasyczny lead magnet. Zanim zaczniesz zbierać adresy, ustal cel i podstawę przetwarzania z art. 6 RODO. Podstawa zależy od celu: odesłanie wyniku na prośbę użytkownika to co innego niż zapis do newslettera, na który potrzebujesz osobnej, dobrowolnej zgody. Wynik nie może zależeć od tej zgody: kto chce tylko wynik, dostaje go bez zapisu na newsletter. Sprawdź też, gdzie te dane trafiają.

Narzędzie jako cel wyszukiwania

Ludzie szukają w Google kalkulatorów: kalorii, wody, rat, metrażu. Strona z narzędziem może być celem takich wyszukiwań. Ale sam skrypt to za mało. Strona potrzebuje opisu, kontekstu i odpowiedzi na pytania wokół wyniku.

Orientacyjna wycena na stronie usługi

Kalkulator widełek cenowych pomaga klientowi oswoić się z kwotą, zanim napisze. To Twoja decyzja, czy pokazujesz ceny. Narzędzie tylko to ułatwia.

Kiedy lepsza wtyczka formularzy

Jeśli oprócz obliczeń chcesz zapisywać zgłoszenia, wysyłać powiadomienia i łączyć się z CRM, własny kalkulator to za mało. Wtedy lepsza będzie wtyczka formularzy z obliczeniami. Calculated Fields Form ma ponad 40 000 aktywnych instalacji i asystenta AI w kreatorze formuł. Fluent Forms ma obliczenia na polach liczbowych. A jeśli zamiast liczyć chcesz zadawać pytania, zobacz, jak tworzyć quizy w WordPressie.

Jeśli wahasz się między wtyczką a własnym kodem, porównaj to, co dla Ciebie ważne:

KryteriumWtyczka z kalkulatoremWłasny kalkulator z Claude
Zapis zgłoszeń, powiadomienia, CRMZwykle wbudowaneMusisz dopisać sam albo połączyć z formularzem
WyglądW granicach ustawień wtyczkiDowolny, zgodny ze stroną
KosztDarmowa wersja albo licencja rocznaTwój czas, bez abonamentu
Zmiana wzoruW kreatorze, bez koduEdycja pliku albo nowy prompt
UtrzymanieAktualizacje autora wtyczkiNa Twojej głowie, ale bez cudzego kodu na stronie
WydajnośćSkrypty wtyczki, czasem na każdej stronieTylko tam, gdzie wstawisz kalkulator

Ważne rozróżnienie: w tym wpisie AI tylko pisze kod. Gotowy kalkulator liczy w przeglądarce i działa bez AI. To co innego niż wtyczki, w których pole formularza wysyła dane użytkownika do modelu AI przy każdym użyciu.

Mój proces - od researchu do jednego pliku HTML

Krok 1. Research danych

Zaczynam od danych, nie od kodu. W Perplexity szukam wzorów, norm i źródeł. Kalkulator jest tak dobry, jak dane, na których liczy. Jeśli dotyczy zdrowia albo pieniędzy, każdy wzór musi mieć źródło.

Krok 2. Prompt z danymi i wymaganiami

Wszystko z researchu wklejam do promptu. Proszę o aplikację w HTML, CSS i JavaScript, najlepiej w jednym pliku, responsywną. Czasem dorzucam grafikę z wyglądem, jaki chcę uzyskać. Gotowy prompt znajdziesz niżej.

Krok 3. Podgląd i poprawki

Claude pokazuje działający podgląd w artefaktach, ChatGPT podobnie w Canvasie. Klikam, sprawdzam, proszę o poprawki. Dobrym trikiem jest zrobienie zrzutu ekranu i wklejenie go z powrotem z prośbą o poprawę konkretnego elementu, na przykład kontrastu.

Krok 4. Test poza WordPressem

Zanim cokolwiek trafi na stronę, zapisuję plik lokalnie i otwieram go w przeglądarce. Sprawdzam:

  • telefon (od 360 pikseli szerokości),
  • obsługę samą klawiaturą (Tab, Enter),
  • wartości graniczne: zero, puste pole, bardzo duża liczba, przecinek zamiast kropki,
  • czy wynik zgadza się z obliczeniem ręcznym na kilku przykładach.

Jeśli coś nie działa tutaj, w WordPressie nie zadziała tym bardziej.

Przykładowy prompt do skopiowania

Przykład dla kalkulatora zapotrzebowania na wodę. Podmień dane i pola na swoje.

Zbuduj kalkulator dziennego zapotrzebowania na wodę jako JEDEN plik HTML
(HTML, CSS i JavaScript w jednym pliku, bez bibliotek z CDN, bez frameworków).

Dane i wzory (z mojego researchu, nie zmieniaj ich):
[wklej wzory i źródła z researchu, np. ml na kg masy ciała, korekta za aktywność]

Wymagania:
- pola: masa ciała (kg), aktywność (lista), temperatura otoczenia (lista);
- każde pole ma widoczną etykietę <label>, walidację i komunikat błędu po polsku;
- wynik pokaż w elemencie z role="status", zaokrąglony do 0,1 l, z krótkim wyjaśnieniem;
- działa na telefonie od 360 px, obsługa samą klawiaturą, kontrast min. 4.5:1;
- wszystkie style i id z prefiksem "wm-kalk-", żeby nie gryzły się z motywem WordPress;
- skrypt w IIFE, bez zmiennych globalnych, bez eval, bez localStorage;
- w skrypcie nie używaj znaku "<" bezpośrednio przed literą lub cyfrą
  (WordPress może zmienić taki fragment przy wyświetlaniu), porównania zapisuj ze spacją;
- żadne dane nie wychodzą z przeglądarki (zero fetch, zero zewnętrznych skryptów);
- pod wynikiem zdanie: "Wynik orientacyjny, nie zastępuje porady lekarza."

Na końcu wypisz listę przypadków testowych (wartości graniczne, puste pola, przecinek zamiast kropki).

Dwie linijki w tym prompcie wynikają z nauczek z naszej pracy, które opisuję niżej: zakaz bibliotek z CDN i zasada o znaku „<”.

Jak osadzić kalkulator na stronie WordPress - 4 sposoby

SposóbDla kogoZaletyWady i ryzyka
Blok HTMLjedna strona, jesteś administratoremnajszybciej, podgląd w edytorzewymaga uprawnienia unfiltered_html; kod żyje w treści, łatwo go nadpisać; WordPress może zmienić znaki w skrypcie
Shortcode z małej wtyczkikalkulator na kilku stronach, edytują innikod w osobnych plikach, ładowany tylko tam, gdzie jest potrzebny; wersjonowanietrzeba wgrać wtyczkę
Iframe z osobnym plikiemduże narzędzie z własnymi stylamipełna izolacja od motywu, ten sam plik działa poza WordPressemwysokość ramki, osobny plik do utrzymania
Iframe z artefaktu Claudeprototyp, test pomysłuzero hostingunarzędzie stoi na cudzej platformie

Moja rekomendacja: blok HTML na start i do testu, shortcode z małej wtyczki do wszystkiego, co ma żyć dłużej niż jedna kampania. Artefakt Claude tylko jako prototyp.

Blok HTML (Własny HTML)

Najprostsza droga. W edytorze Gutenberg dodajesz blok „Własny HTML” i wklejasz zawartość pliku. Od WordPressa 7.0 blok ma osobne panele na HTML, CSS i JavaScript.

Okno edycji kodu bloku Własny HTML w WordPress 7.1 z zakładkami HTML, CSS i JavaScript, otwartym panelem JavaScript ze skryptem kalkulatora i podglądem kalkulatora obok
Blok Własny HTML, przycisk Edytuj kod: osobne zakładki HTML, CSS i JavaScript oraz podgląd na żywo (WordPress 7.1.3, konto administratora, 22.10.2026).

Haczyk: panele CSS i JavaScript widzą tylko użytkownicy z uprawnieniem unfiltered_html. U pozostałych WordPress przy zapisie czyści treść i usuwa m.in. <script> i <iframe>. To uprawnienie mają Administrator i Redaktor na pojedynczej stronie, a w sieci multisite tylko Super Admin. Dlatego „skrypt zniknął po zapisaniu” to bardzo często po prostu brak tego uprawnienia.

Nie nadawaj unfiltered_html innym rolom tylko po to, żeby wkleić kalkulator. Lepiej użyć shortcode’u.

Przykładowy kalkulator dziennego zapotrzebowania na wodę na stronie WordPress: pola Masa ciała i Aktywność, przycisk Oblicz i wynik 3,0 l dziennie
Przykładowy kalkulator osadzony blokiem Własny HTML na stronie testowej (WordPress 7.1.3, 22.10.2026). Wzór uproszczony, tylko do pokazania układu.

Shortcode z małej wtyczki

Shortcode to krótki kod w nawiasach kwadratowych, który wtyczka zamienia na treść. Kalkulator trzymasz w plikach kalkulator.js i kalkulator.css, a w treści strony wstawiasz tylko [wm_kalkulator]. Redaktor nie dotyka kodu, a skrypt ładuje się tylko tam, gdzie jest shortcode, dzięki kolejkowaniu skryptów.

Minimalna wtyczka (folder wm-kalkulator z plikiem PHP, JS i CSS):

<?php
/**
 * Plugin Name: WM Kalkulator
 * Description: Kalkulator osadzany shortcode'em [wm_kalkulator].
 * Version: 1.0.0
 */

defined( 'ABSPATH' ) || exit;

add_action( 'wp_enqueue_scripts', function () {
	wp_register_script(
		'wm-kalk',
		plugins_url( 'kalkulator.js', __FILE__ ),
		array(),
		'1.0.0',
		array( 'in_footer' => true, 'strategy' => 'defer' )
	);
	wp_register_style( 'wm-kalk', plugins_url( 'kalkulator.css', __FILE__ ), array(), '1.0.0' );
} );

add_shortcode( 'wm_kalkulator', function () {
	wp_enqueue_script( 'wm-kalk' );
	wp_enqueue_style( 'wm-kalk' );
	return '<div id="wm-kalk-app"></div>';
} );

Dwie zasady z dokumentacji shortcode’ów: funkcja ma zwracać HTML, a nie go wypisywać, a nazwy warto prefiksować. Parametr strategy w wp_enqueue_script działa od WordPressa 6.3. Wersję w numerze (1.0.0) podbijasz przy każdej zmianie, żeby przeglądarki pobrały nowy plik. Ten przykład zakłada jeden kalkulator na stronę, bo element ma stałe id.

Kod z pliku HTML od Claude dzielisz na trzy części: HTML trafia do return, CSS do kalkulator.css, a JavaScript do kalkulator.js.

Iframe z osobnym plikiem

Wgrywasz plik HTML na serwer (na przykład do katalogu poza WordPressem) i osadzasz go w ramce:

<iframe src="https://twojadomena.pl/narzedzia/kalkulator-wody.html"
        title="Kalkulator zapotrzebowania na wodę"
        style="width: 100%; border: 0;" height="640" loading="lazy"></iframe>

Plusy: style i skrypty kalkulatora nie gryzą się z motywem. Minusy: wysokość ramki ustawiasz ręcznie, a na telefonie trzeba ją sprawdzić. Atrybut title jest obowiązkowy dla czytników ekranu.

Iframe z artefaktu Claude

Artefakt możesz opublikować i pobrać kod do osadzenia, wpisując dozwolone domeny. Każdy z linkiem może z niego korzystać bez konta. Ale uwaga: jeśli cofniesz publikację, nie opublikujesz go ponownie, a narzędzie przez cały czas stoi na cudzej platformie. Odwiedzający łączy się wtedy z serwerem tej platformy, więc dopisz ją do polityki prywatności. Do testu pomysłu wystarczy. Na stałe trzymaj plik u siebie.

Pułapki z mojej praktyki

WordPress po cichu zmienia znaki w skrypcie

Ta pułapka jest najbardziej podstępna, bo nic nie wskazuje na problem. Dokumentacja funkcji wptexturize mówi, że zawartość znaczników <script> jest pomijana. W praktyce na jednej z naszych stron skrypt filtrów w bloku HTML przestał działać:

  • fragment w stylu <12||n%100> został potraktowany jak znacznik HTML,
  • && zamieniło się na &#038;&#038;,
  • przeglądarka zgłosiła błąd składni i filtr nie działał od dnia wdrożenia.

Najgorsze: w bazie danych kod był poprawny. Psuł się dopiero przy wyświetlaniu strony.

Co z tym zrobić:

  1. Najlepiej: kod w osobnym pliku (shortcode albo iframe). Wtedy nie przechodzi przez filtry treści.
  2. Zapobiegawczo: w skrypcie nie stawiaj < bezpośrednio przed literą albo cyfrą (stąd ta linijka w prompcie).
  3. Gdy musisz zostać w bloku HTML: my zakodowaliśmy skrypt w base64 i uruchamiamy go małym loaderem, w którym nie ma znaków <, >, & ani apostrofu:
<script>new Function(decodeURIComponent(escape(atob("…"))))()</script>

W miejsce trzech kropek trafia kod skryptu zakodowany w base64. Zastrzeżenie: new Function() działa podobnie do eval. Jeśli Twoja strona ma politykę bezpieczeństwa treści (nagłówek CSP), która nie dopuszcza unsafe-eval, ten loader nie ruszy, a kalkulator po prostu nie zadziała. Wtedy zostaje plik przez shortcode.

Jak to sprawdzić po osadzeniu: otwórz opublikowaną stronę (nie podgląd w edytorze), włącz konsolę przeglądarki (F12) i szukaj błędów. Dla pewności podejrzyj źródło strony i porównaj kod skryptu z oryginałem.

Biblioteki z CDN i wersje „latest”

Przykład z naszego podwórka: wwwrapped.pl, strona zrobiona w jeden wieczór z dużą pomocą AI, ładuje skrypty z trzech zewnętrznych źródeł, w tym bibliotekę ikon w wersji lucide@latest. Przy takim zapisie każda nowa wersja biblioteki trafia na stronę automatycznie, bez testu. Jeśli autor biblioteki coś zmieni, narzędzie może się zepsuć z dnia na dzień. Do tego każde zewnętrzne źródło to kolejne zapytanie, które spowalnia stronę, i kolejny serwer, który dostaje adres IP odwiedzającego.

Dlatego w prompcie jest „bez bibliotek z CDN”. Jeśli biblioteka jest naprawdę potrzebna, przypnij konkretną wersję albo trzymaj plik u siebie. Więcej o wpływie skryptów na szybkość przeczytasz w poradniku jak przyspieszyć stronę na WordPressie.

Kto może zapisać skrypt

Pisałem o tym wyżej, ale powtórzę, bo to najczęstsza przyczyna „znikającego” kalkulatora. Bez unfiltered_html WordPress usuwa skrypt przy zapisie. Na sieci multisite ma je tylko Super Admin.

Dostępność

Kalkulator ma być używalny także dla osób z czytnikiem ekranu i bez myszy:

  • każde pole ma widoczną etykietę,
  • wynik pojawia się w elemencie z role="status", żeby czytnik ekranu go ogłosił bez przenoszenia fokusu (kryterium WCAG 4.1.3),
  • ramka iframe ma atrybut title (technika H64),
  • całość obsłużysz samą klawiaturą.

Więcej o tym w haśle dostępność w WordPressie.

RODO

Najprostszy pod względem RODO jest kalkulator, który liczy wyłącznie w przeglądarce i niczego nie wysyła. Jeśli zbierasz e-mail albo wysyłasz wynik na serwer, potrzebujesz podstawy prawnej z art. 6 RODO dobranej do celu, krótkiej informacji przy formularzu (kto zbiera dane, po co, link do polityki prywatności), pełnej informacji w polityce prywatności i świadomości, gdzie dane trafiają. Zapis do newslettera albo wysyłka ofert to osobny cel i wymaga zgody, zbieranej osobno i dobrowolnie. Uważaj z kalkulatorami zdrowotnymi. Jeśli razem z e-mailem wysyłasz wagę, wiek albo objawy, mogą to być dane o zdrowiu, a wtedy obowiązują dużo ostrzejsze zasady z art. 9 RODO. Najprościej nie wysyłać danych z pól, tylko sam wynik na prośbę użytkownika. Przy konkretnym formularzu podstawę warto potwierdzić z prawnikiem. Zewnętrzne skrypty z CDN to też przekazanie adresu IP innemu serwerowi. A jeśli taki skrypt zapisuje pliki cookie w przeglądarce, potrzebujesz na to zgody w banerze.

Utrzymanie

Kto poprawi wzór za rok, gdy zmienią się normy albo stawki? Trzymaj plik źródłowy z numerem wersji, zapisuj, skąd pochodzą wzory, i po każdej większej aktualizacji WordPressa otwórz stronę z kalkulatorem i sprawdź, czy liczy.

Checklista przed publikacją kalkulatora

  1. Wzory mają źródło, a wynik sprawdzony ręcznie na kilku przykładach.
  2. Plik przetestowany poza WordPressem: telefon, klawiatura, wartości graniczne.
  3. Brak bibliotek z CDN albo wersje przypięte.
  4. Prefiksy klas i id, skrypt bez zmiennych globalnych.
  5. Wybrany sposób osadzenia pasuje do tego, kto edytuje stronę.
  6. Po osadzeniu: opublikowana strona, konsola bez błędów, kod skryptu taki sam jak w oryginale.
  7. Etykiety pól, wynik w role="status", title na ramce iframe.
  8. Brak wysyłki danych albo ustalona podstawa przetwarzania, wpis w polityce prywatności i osobna zgoda na newsletter.
  9. Przy tematach zdrowia i pieniędzy dopisek, że wynik jest orientacyjny.
  10. Zapisana wersja pliku i plan sprawdzenia po aktualizacjach.

FAQ

Czy do kalkulatora na WordPress potrzebuję wtyczki?

Nie. Wystarczy blok HTML, jeśli masz uprawnienie unfiltered_html (na pojedynczej stronie Administrator i Redaktor). Wtyczka formularzy ma sens, gdy chcesz zapisywać zgłoszenia.

Dlaczego mój skrypt znika albo przestaje działać po zapisaniu strony?

Albo nie masz uprawnienia unfiltered_html i WordPress usuwa <script> przy zapisie, albo filtry treści zmieniają znaki w kodzie przy wyświetlaniu strony.

Czy mogę osadzić artefakt z Claude na stronie?

Tak, po publikacji artefaktu i wpisaniu dozwolonych domen. Na stałe lepiej trzymać plik u siebie, bo artefakt zależy od cudzej platformy.

Czy kalkulator napisany przez AI jest bezpieczny?

Kod z AI czytasz i testujesz jak każdy inny. Kalkulator, który liczy w przeglądarce i niczego nie wysyła, jest najprostszy także pod względem RODO.

Czy kalkulator pomaga w SEO?

Może być celem wyszukiwania, jeśli strona ma opis, kontekst i odpowiada na pytania wokół wyniku. Sam skrypt bez treści to mało.

Czy kalkulator spowolni stronę?

Mały plik bez zewnętrznych bibliotek, ładowany tylko na jednej stronie, zwykle nie jest problemem. Spowalniają głównie biblioteki ładowane z zewnętrznych serwerów i skrypty wczytywane na całej stronie.

Podsumowanie

Kalkulator z Claude to dziś wieczór pracy, a nie projekt na tydzień. Research danych, dobry prompt, jeden plik, test poza WordPressem. Potem osadzenie: blok HTML do testu, shortcode z małej wtyczki na stałe. I sprawdzenie na opublikowanej stronie, bo WordPress potrafi po cichu zmienić znaki w skrypcie.

Ten proces opisałem pierwszy raz w newsletterze Webly Letter. Takich praktycznych rzeczy o WordPressie i AI jest tam więcej. Zapisz się na Webly Letter.

Autor wpisuDaniel Jeziorski

Zakochany w WordPressie, wykorzystuje go na każdym kroku do swoich projektów i w większości projektów klientów. Traktuje strony na WordPress jako kluczowy element lejków marketingowo-sprzedażowych. Pomagam oswajać się z tym systemem CMS i wyciągnąć z niego jeszcze więcej!

Polecane dla tej kategorii

Niektóre polecane wpisy zawierają linki afiliacyjne. Polecam tylko narzędzia, z których sam korzystam.

Czytaj dalej

Najnowsze wpisy

Wszystkie wpisy