WordPress
Własny formularz logowania i rejestracji w WordPress zamiast wp-login.php

Własny formularz rejestracji WordPress, osadzony na zwykłej stronie serwisu, pozwala klientom zalogować się i założyć konto w wyglądzie Twojej marki. Bez przeskoku na domyślny ekran wp-login.php. A ten ekran z logo WordPressa wyrywa klienta sklepu czy portalu z kontekstu strony, na której przed chwilą był. Niżej opisuję, co daje takie rozwiązanie, jakie formularze przygotować, jak je wdrożyć i na co uważać.
Spis treści
Dlaczego domyślny ekran wp-login.php nie wystarcza firmowej stronie?
Bo jest generyczny. Strona wp-login.php działa poprawnie, tylko że wygląda identycznie na każdej instalacji i nijak nie pasuje do szaty graficznej sklepu czy strony firmowej. Nie ma menu, stopki ani nawigacji. Klient w trakcie zakładania konta traci orientację i nie wie, jak wrócić do koszyka (a to ostatnie, czego chcesz w sklepie). Do tego standardowe pola rejestracji użytkownika to login i adres e-mail. Tyle. Logowanie na froncie pozwala zostać w obrębie serwisu, na przykład na stronie Moje konto albo w panelu klienta. Główny argument? Wygoda i spójność z marką. Nie bezpieczeństwo, ale o tym za chwilę.
Jakie formularze przygotować, żeby proces konta był kompletny
Pełny zestaw to pięć formularzy: logowanie, rejestracja, prośba o reset hasła, ustawienie nowego hasła i edycja profilu.
- Logowanie - wejście do konta loginem lub e-mailem plus hasło.
- Rejestracja - założenie konta z polami, których potrzebujesz.
- Prośba o reset hasła - wysłanie linku do zmiany hasła.
- Nowe hasło - strona, na którą prowadzi link z wiadomości.
- Profil - zmiana danych przez samego użytkownika.
Zabraknie jednego i użytkownik ląduje z powrotem na wp-login.php. Cała spójność ścieżki idzie wtedy do kosza. Każdy formularz daj na osobną stronę z czytelnym adresem, typu /logowanie czy /rejestracja, i połącz je linkami.
Jakie pola rejestracji użytkownika warto dodać, a z jakich zrezygnować
Zasada prosta: zbieraj tylko to, czego naprawdę używasz. Każde dodatkowe pole wydłuża rejestrację i część osób po prostu odpuści. Najczęściej przydają się imię, nazwa firmy i telefon (ten ostatni tylko wtedy, gdy faktycznie dzwonisz do klientów, a nie „na wszelki wypadek”). Zgody marketingowe dodaj jako osobne pola, domyślnie niezaznaczone. Przepisy o ochronie danych osobowych wymagają, żeby zakres zbieranych informacji wynikał z celu ich przetwarzania. Masz wątpliwości? Pokaż formularz prawnikowi, nie ma co ryzykować. Aha, i jeszcze jedno: błędy pokazuj bezpośrednio pod polem, którego dotyczą, a nie jako ogólny komunikat nad formularzem.
Jak wstawić własny formularz rejestracji WordPress na stronę krok po kroku
Najprościej zrobić to na zwykłych stronach WordPressa, do których wrzucasz formularze shortcode’ami z wtyczki. Kolejność prac:
- Utwórz strony dla logowania, rejestracji, odzyskiwania hasła, ustawienia nowego hasła i profilu.
- Wstaw w każdą z nich odpowiedni shortcode.
- Dodaj linki do logowania i rejestracji w menu albo nagłówku.
- Ustaw przekierowania po zalogowaniu i po rejestracji, także do właściwej wersji językowej.
- Przejdź cały proces na koncie testowym.
Przykład: wtyczka Custom User Forms PRO daje shortcode’y [custom-login-form], [custom-register-form], [custom-password-lost-form] i [custom-password-reset-form], a [account-info] pozwala użytkownikom zarządzać profilem. Dla programistów są hooki. cuf_pages_args kontroluje argumenty stron, a cuf_notification_new_user decyduje o powiadomieniach po utworzeniu konta. Wygląd formularzy dopasujesz do motywu stylami szablonu. W sumie nic skomplikowanego.
Logowanie na froncie a bezpieczeństwo: co zmienia, a czego nie
Tu często pojawia się nieporozumienie. Przeniesienie formularza na stronę serwisu poprawia wygodę, ale samo w sobie witryny nie zabezpiecza. Ukrywanie adresu logowania to zabezpieczenie przez zaciemnianie, a według zaleceń dotyczących hardeningu WordPressa nie powinno ono być główną strategią ochrony. Ta sama dokumentacja radzi instalować wtyczki tylko z repozytorium WordPress.org albo od znanych firm i korzystać ze wskaźnika siły hasła przy jego zmianie. Drugą warstwę daje ochrona katalogu wp-admin hasłem po stronie serwera. Pod jednym warunkiem: nie może zablokować pliku admin-ajax.php. No i stała DISALLOW_FILE_EDIT, która wyłącza edycję plików PHP z kokpitu. Jeśli ktoś przejmie konto administratora, szkody będą mniejsze.
Co sprawdzić po wdrożeniu nowej strony logowania
Zanim udostępnisz formularze, przejdź cały proces jako nowy użytkownik, od rejestracji po zmianę hasła. Moja lista kontrolna:
- czy e-mail powitalny dochodzi i ma właściwą treść,
- czy link resetu hasła prowadzi na stronę serwisu, a nie na wp-login.php,
- czy przekierowania po zalogowaniu i wylogowaniu kierują tam, gdzie trzeba,
- jak formularze wyglądają na telefonie,
- czy wszystko współgra z kontem klienta WooCommerce.
Zdecyduj też, kto dostaje powiadomienie o nowym koncie: administrator, użytkownik czy obaj. Dopracowany formularz rejestracji WordPress, spójny z marką i odporny na boty, ułatwia klientom założenie konta. I sprawia, że chętniej do serwisu wracają.
Najczęstsze pytania
Czy po dodaniu własnego formularza strona wp-login.php przestaje działać?
Nie. Domyślny ekran dalej istnieje i działa. Własne formularze go uzupełniają, a linki w serwisie kierują ludzi na nowe strony, więc w praktyce klienci na standardowy ekran po prostu nie trafiają.
Czy własna strona logowania WordPress działa z kontem klienta WooCommerce?
Tak, bo konta klientów WooCommerce to zwykli użytkownicy WordPressa. Przetestuj jednak przekierowania po logowaniu i strony konta. Inaczej klient może wylądować w dwóch różnych panelach, a to średnio wygląda.
Czy do formularzy rejestracji potrzebny jest programista?
Do podstawowego wdrożenia nie. Utworzenie stron i wstawienie shortcode’ów załatwi administrator. Programista przydaje się dopiero przy niestandardowych powiadomieniach i zmianie zachowania formularzy przez hooki.