Kontakt pod kontrolą: ochrona maili + inteligentny formularz
Problem zgłosiła sama klientka: zamiast zajrzeć do FAQ albo wypełnić formularz, część osób klikała od razu w adres e-mail i pisała „na pałę" — wiadomości niekompletne, trafiające nie tam, gdzie trzeba, generujące chaos i dopytywanie. Rozwiązaliśmy to dwutorowo: delikatny popup przy próbie użycia adresu e-mail kieruje do FAQ i formularza, a sam formularz jest inteligentny — dobiera pola do wybranego tematu i kieruje zgłoszenie do właściwej skrzynki. Efekt: kompletne zgłoszenia trafiające od razu do właściwej osoby.
Schemat działania — krok po kroku
Próba użycia maila
Ktoś klika adres e-mail, kopiuje go albo otwiera menu prawym przyciskiem.
Delikatny popup
Pojawia się komunikat: sprawdź FAQ i skorzystaj z formularza — z dyskretną furtką „mimo to chcę napisać".
Wybór tematu
W formularzu użytkownik wybiera temat zgłoszenia (np. darowizna, sklep — płatność, dostępność).
Pola dopasowują się
Formularz pokazuje tylko pola istotne dla tematu — np. numer zamówienia, link do zbiórki, załączniki.
Trafia do właściwej osoby
Zgłoszenie jest kierowane na odpowiednią skrzynkę (np. fundacja@ lub wniosek@).
Kompletne zgłoszenie
Obsługa dostaje komplet informacji od razu — mniej dopytywania, szybsza reakcja.
Co to daje
Mniej maili „na pałę"
Popup kieruje do formularza, więc zgłoszenia są od początku kompletne.
Od razu do właściwej osoby
Routing po temacie kieruje wiadomość na odpowiednią skrzynkę bez ręcznego przekazywania.
Komplet danych za pierwszym razem
Pola warunkowe wymuszają dokładnie to, co potrzebne do danej sprawy.
Mniej pracy obsługi
Mniej dopytywania i ręcznego sortowania = szybsza i tańsza obsługa.
Bezpieczeństwo i anty-spam
Zabezpieczenia (nonce + honeypot), walidacja i bezpieczny upload załączników.
Dobry UX
Użytkownik prowadzony krok po kroku, z furtką dla wyjątkowych sytuacji.
Szczegóły
Skąd pomysł — uwaga klientki
Klientka zauważyła, że wiele osób, zamiast przeczytać FAQ lub skorzystać z formularza, klika bezpośrednio w adres e-mail i wysyła niekompletne wiadomości. To generowało chaos: zgłoszenia bez kluczowych danych, trafiające do złej skrzynki i wymagające dopytywania. Rozwiązanie miało delikatnie zmienić ten nawyk, nie blokując nikomu drogi.
Jak działa ochrona adresów e-mail
Przy próbie użycia adresu (kliknięcie linku, skopiowanie, menu prawym przyciskiem) pojawia się popup zachęcający do sprawdzenia FAQ i wypełnienia formularza, z dyskretną furtką „mimo to chcę napisać". Działa globalnie tam, gdzie adresy występują (FAQ, regulamin, polityka, pomoc) i wykrywa zarówno linki mailto, jak i adresy wpisane zwykłym tekstem.
Inteligentny formularz zależny od tematu
Po wyborze tematu formularz pokazuje pola warunkowe dopasowane do sprawy (np. numer zamówienia przy problemie z płatnością, dane i załączniki przy darowiźnie rzeczowej) i kieruje zgłoszenie na właściwą skrzynkę. Całość ma walidację, ochronę przed spamem i obsługę wielu załączników, a po wysłaniu nie da się przypadkiem wysłać go ponownie.
Dwa moduły jednej wtyczki: email-guard (ochrona adresów) oraz natywny formularz kontaktowy z polami warunkowymi i routingiem skrzynek. Konfigurowalne filtrami, bez zewnętrznych zależności.
Email-guard
Moduł działa na froncie globalnie (poza adminem). Przechwytuje kliknięcie w mailto, kopiowanie zaznaczonego adresu oraz menu kontekstowe, wykrywając zarówno linki, jak i adresy w zwykłym tekście. Popup jest w pełni konfigurowalny filtrem cs_email_guard_config (URL-e i teksty), a cały moduł można wyłączyć filtrem cs_email_guard_enabled — bez dotykania kodu.
Formularz warunkowy
Funkcja cs_contact_topics() to pojedyncze źródło prawdy: dla każdego tematu definiuje etykietę, docelową skrzynkę (fundacja/wniosek) oraz pola warunkowe (typy: text, textarea, file, url). Obsługa wysyłki wpięta w template_redirect realizuje walidację, honeypot + nonce, upload wielu załączników i wzorzec PRG (przekierowanie po sukcesie), eliminujący ponowną wysyłkę przy odświeżeniu.