WP Manifestindependent plugin directory
manifest / integrations / everwebinar-form

EverWebinar Connect PRO

WordPress plugin: Everwebinar form integration

★ 0stars
v3.2latest · 8mo ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/lukasz-slusarski/everwebinar-form/archive/refs/heads/main.zip
Updates itself. It ships its own updater, so new versions appear under Dashboard → Updates.

Antigravity EverWebinar Connect PRO - Dokumentacja Techniczna

1. Cel i Problem

Wtyczka rozwiązuje problem integracji Landingi.com z platformą EverWebinar w scenariuszu autowebinarów (Just-In-Time lub Recurring), gdzie standardowy widget EverWebinar (iframe) jest niewystarczający z powodu braku możliwości stylowania i ukrywania strefy czasowej.

Główne wyzwania techniczne, które rozwiązuje wtyczka:

  1. CORS (Cross-Origin Resource Sharing): EverWebinar API nie pozwala na bezpośrednie zapytania AJAX z domeny landingi.com.
  2. Bezpieczeństwo: Bezpośrednie odpytywanie API z poziomu przeglądarki wymagałoby zaszycia API_KEY w kodzie źródłowym strony, co jest krytycznym błędem bezpieczeństwa.

2. Architektura Rozwiązania

Wtyczka działa jako API Proxy (Bramka Pośrednicząca) zainstalowana na instancji WordPress klienta.

Przepływ danych (Data Flow):

  1. Frontend (Landingi): Skrypt JS wysyła zapytanie POST do endpointu WordPressa (/wp-json/ewf/v1/proxy). Przesyła webinar_id, embed_id oraz public_token (token publiczny).
  2. Middleware (WordPress Plugin):
    • Odbiera zapytanie.
    • Weryfikuje poprawność (czy podano Webinar ID).
    • Dokleja tajny API_KEY (przechowywany bezpiecznie w bazie WP, tabela wp_options).
    • Wysyła zapytanie backend-to-backend (via wp_remote_post) do EverWebinar API.
  3. EverWebinar: Zwraca harmonogram (schedules) lub potwierdzenie zapisu.
  4. WordPress: Przekazuje odpowiedź z powrotem do Frontendu, dodając nagłówki CORS tylko dla dozwolonych domen.

3. Struktura Wtyczki

Plik główny: everwebinar-form.php realizuje 7 funkcji:

A. Konfiguracja Globalna

  • Rejestruje stronę ustawień (ewf_settings).
  • Przechowuje API Key w opcji ewf_settings[ewf_api_key].
  • Lista dozwolonych domen w ewf_settings[ewf_allowed_origins].

B. Custom Post Type (ewf_webinar)

  • Służy do zarządzania webinarami.
  • Każdy post to jeden webinar.
  • Meta field _ewf_id przechowuje ID webinaru z platformy EverWebinar.
  • Meta field _ewf_public_token przechowuje publiczny token do proxy.

C. Generator Kodu (Metabox)

  • Automatycznie generuje gotowy snippet HTML/CSS/JS.
  • Wstrzykuje dynamicznie WEBINAR_ID, EMBED_ID, PUBLIC_TOKEN oraz URL endpointu (get_rest_url), dzięki czemu kod jest "portable".

D. REST API Endpoint (/ewf/v1/proxy)

  • Publicznie dostępny endpoint z kontrolą CORS.
  • Obsługuje akcję get_schedules: pobiera dostępne daty (wymusza timezone: GMT+1).
  • Obsługuje akcję register: zapisuje uczestnika.
  • Weryfikuje public_token i embed_id oraz ogranicza liczbę żądań (rate limit).

E. CORS Headers

  • CORS jest ograniczony do listy dozwolonych domen w ustawieniach.
  • Domena WordPressa jest zawsze dozwolona.

4. Instrukcja dla Programisty / Administratora

Instalacja

  1. Wgraj folder everwebinar-form do /wp-content/plugins/.
  2. Aktywuj wtyczkę w panelu WordPress.

Konfiguracja

  1. Wejdź w Webinary -> Ustawienia API.
  2. Wklej klucz API z panelu EverWebinar (zakładka Advanced -> API).
  3. Dodaj dozwolone domeny (originy), np. https://twoja-domena.pl.
  4. Użyj przycisku Testuj połączenie, aby sprawdzić klucz.

Dodawanie nowego webinaru

  1. Wejdź w Webinary -> Dodaj nowy.
  2. Kliknij Pobierz listę i wybierz webinar z EverWebinar. Pole ID jest ukryte, ale dostępne jako fallback (np. gdy API nie działa). Możesz też kliknąć Ustaw demo.
  3. Zapisz post.
  4. Skopiuj gotowy kod z sekcji "Gotowy kod na Landingi".
  5. Po aktualizacji wtyczki skopiuj snippet ponownie (token publiczny jest generowany automatycznie).

Pola formularza zapisu

  • API EverWebinar nie udostępnia listy pól formularza, więc ustaw je ręcznie w edycji webinaru.
  • Możesz włączać i oznaczać jako wymagane pola: nazwisko, kraj, stan/województwo, telefon, kod kraju telefonu oraz zgodę SMS/telefon (Twilio).
  • Pola imię i e-mail są zawsze włączone (wymagane przez API).

Modyfikacje Frontendowe

Kod JS w generatorze (funkcja ewf_code_callback) jest samowystarczalny (Vanilla JS). Nie wymaga jQuery. Style CSS (modal) są dołączone inline, ale można je przenieść do globalnego arkusza stylów Landingi, aby odchudzić kod.

Releases

1 release.

Tag
Published
v3.2 latest
Feb 12, 2026 8mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.