Jak dostosować i oddzielić strony logowania i rejestracji w WooCommerce?
Opublikowany: 2021-04-28Niezależnie od tego, czy korzystasz z WooCommerce, czy nie, być może już wiesz, że jest to jedno z najpopularniejszych obecnie dostępnych rozwiązań eCommerce typu open source. Jak w przypadku każdego oprogramowania, ma jednak pewne ograniczenia i wady. W tym artykule zajmiemy się jednym z nich… brakiem możliwości pełnego dostosowania i/lub oddzielenia strony logowania i rejestracji.
Jednym z najczęstszych próśb użytkowników WooCommerce jest możliwość aktualizacji i dostosowania zarówno strony logowania, jak i rejestracji. W idealnym przypadku wielu użytkowników chciałoby również mieć możliwość oddzielenia tych stron zamiast umieszczania ich jako strony „wszystko w jednym”. W tym artykule przyjrzymy się, jak możesz osiągnąć obie te rzeczy… w pełni dostosowaną ORAZ oddzieloną stronę logowania/rejestracji dla Twojej witryny WooCommerce.
Zacznijmy!
Korzystanie z wtyczki
Być może nie jest zaskoczeniem, że najłatwiejszym sposobem rozwiązania dylematu dostosowywania strony logowania/rejestracji jest użycie wtyczki. Wybraliśmy kilka z najlepszych, których możesz użyć. Przyjrzyjmy się im.
Logowanie / rejestracja Woocommerce Lite
Przejdź do menu administracyjnego WordPressa i w obszarze „Wtyczki -> Dodaj nowy” zainstaluj i aktywuj wtyczkę.
Wtyczka Woocommerce Login / Signup Lite to darmowa wtyczka, która oferuje również wersję premium. Jednak na nasze potrzeby darmowa wersja powinna być w porządku. Jest całkiem łatwy w użyciu. Po zainstalowaniu będziesz mógł tworzyć skróty odpowiadające rodzajowi wymaganego formularza (np. formularz logowania lub rejestracji). Następnie możesz wkleić ten krótki kod na dowolnej stronie. Skróty obejmują:
-
[lsphe-login-form]
do utworzenia formularza logowania. -
[lsphe-signup-form]
do utworzenia formularza rejestracyjnego. -
[lsphe-header]
do utworzenia formularza, który będzie zawierał zarówno formularze logowania, jak i rejestracyjne.
Możesz zobaczyć dostępne skróty w obszarze administracyjnym wtyczki.
Kolejną świetną funkcją, którą oferuje ta wtyczka, jest możliwość utworzenia wyskakującego okna logowania/rejestracji z pozycji menu. Wygląda to całkiem ładnie i zapewnia dodatkową elastyczność, jeśli chodzi o oferowanie opcji logowania swoim klientom. Aby utworzyć jeden z nich, wykonaj następujące kroki:
- Kliknij Wygląd > Menu, aby przejść do ekranu administratora menu.
- Użyj strzałki w prawym górnym rogu, aby otworzyć opcje ekranu i włączyć „Klasy CSS” w „Pokaż właściwości menu zaawansowanego”.
- Utwórz element menu niestandardowego łącza i podaj adres URL „#”. Nazwij element, jak chcesz i dodaj go do menu.
- Gdy pojawi się na liście menu, otwórz jego sekcję akordeonu i w klasie CSS dodaj:
phoen-login-popup-open
Aby zrobić to samo dla wyskakującego okienka rejestracji, wykonaj te same kroki i użyj phoen-signup-popup-open
, a do wyświetlenia obu formularzy użyj klasy phoen-login-signup-popup-open
.
Rejestracja Użytkownika
Wtyczka User Registration umożliwia tworzenie formularzy frontendowych za pomocą pól typu „przeciągnij i upuść”, co pozwala na łatwe projektowanie formularzy i zmianę ich kolejności.
Po zainstalowaniu wtyczki przejdź do „Rejestracji użytkownika”, gdzie możesz rozpocząć tworzenie własnego formularza rejestracyjnego dla swojego sklepu WooCommerce. Zauważysz, że istnieje gotowy formularz zawierający krótki kod, który możesz skopiować i wkleić na swojej stronie internetowej w wybranej lokalizacji. Formularz będzie wyglądał mniej więcej tak:
Możesz oczywiście łatwo edytować formularz lub stworzyć nowy. Po prostu postępuj zgodnie z instrukcjami we wtyczce, a błyskawicznie będziesz gotowy do pracy z wybraną przez siebie formą.
Wyskakujące okienko logowania/rejestracji
Kolejną wtyczką, którą warto rozważyć, jest wyskakujące okienko logowania/rejestracji (Inline Form + Woocommerce). Zamiast formularzy na stronie, wtyczka (jak sugeruje nazwa) pomaga tworzyć wyskakujące formularze logowania, które można uruchomić za pomocą linku lub przycisku w Twojej witrynie. Wyskakujące okienka mogą być świetne i mogą pomóc zaoszczędzić miejsce na stronie, a także dać ludziom możliwość zalogowania się z dowolnego miejsca w witrynie bez przekierowywania na określoną stronę logowania lub rejestracji.
Podobnie jak w przypadku wszystkich wymienionych wtyczek, możesz w pełni dostosować wygląd formularzy. Inne godne uwagi funkcje obejmują takie rzeczy, jak logowanie „społecznościowe”, które umożliwiają użytkownikom logowanie się przy użyciu loginów Google lub Facebook. Odbywa się to za pomocą płatnego dodatku Custom Registration Field.
Zakoduj własne strony rejestracji i logowania WooCommerce
Jeśli nie chcesz używać wtyczki do tworzenia własnych stron logowania/rejestracji WooCommerce, dlaczego nie zakodować własnej! Jak zawsze, kodowanie zapewnia najwyższą kontrolę nad funkcjami, projektem i funkcją, a więc jest idealną opcją, jeśli potrzebujesz wykonać określone zadanie lub chcesz uniknąć potencjalnego rozdęcia, które jest dostarczane z wtyczką.
Aby rozpocząć korzystanie z tego samouczka, najpierw skonfiguruj element menu, który prowadzi do standardowej strony „Moje konto” WooCommerce. Teraz, jeśli odwiedzisz to łącze menu na froncie strony, zobaczysz formularz logowania lub układ dwukolumnowy, który zawiera zarówno formularz rejestracyjny, jak i formularz logowania. Co będzie zależeć od tego, co ustawiłeś w opcji tworzenia konta WooCommerce pokazanej poniżej.
Używając klienta SFTP, zaloguj się do swojego serwera WWW, aby zobaczyć foldery swojej witryny. W /wp-content/plugins/woocommerce/templates/myaccount/
znajdziesz plik form-login.php
. Otwórz ten plik w swoim ulubionym edytorze.
Kod w tym pliku zawiera zarówno formularz logowania, jak i formularz rejestracyjny. Możesz zobaczyć zawartość tego pliku na oficjalnej stronie git. Zauważysz tam warunek if <?php if ( 'yes' === get_option( 'woocommerce_enable_myaccount_registration' ) ) : ?>
, który odnosi się do opcji administratora na powyższym zrzucie ekranu.
Dzięki temu będziemy mogli oddzielić strony logowania i rejestracji, a także dostosować formularze za pomocą kilku poprawek.
Dostosuj formularz logowania
Na początek upewnij się, że wszelkie zmiany wprowadzane w formularzu logowania/rejestracji są dokonywane w bezpieczny sposób, aby nie można ich było cofnąć w przypadku przyszłych aktualizacji.
Jeśli jesteś już zalogowany przez klienta SFTP, przejdź do wp-content/themes/__my__theme__
. i utwórz folder „woocommerce”. Wewnątrz tego folderu utwórz kopię szablonów Woocommerce. Ważne jest, aby zachować strukturę plików, ale usunąć podkatalog /templates/. Na przykład mamy zainstalowany motyw Twenty Twenty, a WooCommerce form-login.php
znajduje się w plugins/woocommerce/templates/myaccount/
. Oznacza to, że aby nadpisać formularz, musimy utworzyć hierarchię taką jak ta: /themes/twentytwenty/woocommerce/myaccount/
i wewnątrz umieścić plik form-login.php
.
Przetestujmy to. W tym momencie widzimy ten wynik podczas odwiedzania strony Konto w interfejsie naszej witryny:
Teraz, jeśli spróbujemy zmienić cokolwiek w kodzie wewnątrz duplikatu form-login.php
, zauważymy, że wpłynie to na układ zgodnie z oczekiwaniami. Spróbujmy drobnej zmiany, żeby sprawdzić, czy to działa. Zmienimy tekst „Zapamiętaj mnie” na „Zapamiętaj moje poświadczenia” i voila, jeśli odświeżymy stronę frontową, zobaczymy, że aktualizacja zaczęła obowiązywać.
Oddzielne logowanie/rejestracja
Oto kroki, które należy wykonać, aby oddzielić strony logowania i rejestracji:
Na początek zarejestrujemy nowy szablon niestandardowy. Aby to zrobić, utwórz nowy plik o nazwie register.php
i umieść go w folderze szablonów. Wewnątrz tego pliku wstawimy następujący kod:
<?php /* * Template name: Registration Form */ ?> <?php if(is_user_logged_in()){ wp_redirect(get_permalink(get_option('woocommerce_myaccount_page_id'))); } ?> <?php get_header();?> <?php do_action( 'woocommerce_before_customer_login_form' ); ?> <div class="custom-registration"> <h2><?php esc_html_e( 'Register', 'woocommerce' ); ?></h2> <form method="post" class="woocommerce-form woocommerce-form-register register" <?php do_action( 'woocommerce_register_form_tag' ); ?> > <?php do_action( 'woocommerce_register_form_start' ); ?> <?php if ( 'no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="reg_username"><?php esc_html_e( 'Username', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" autocomplete="username" value="<?php echo ( ! empty( $_POST['username'] ) ) ? esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" /><?php // @codingStandardsIgnoreLine ?> </p> <?php endif; ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="reg_email"><?php esc_html_e( 'Email address', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="email" class="woocommerce-Input woocommerce-Input--text input-text" name="email" autocomplete="email" value="<?php echo ( ! empty( $_POST['email'] ) ) ? esc_attr( wp_unslash( $_POST['email'] ) ) : ''; ?>" /><?php // @codingStandardsIgnoreLine ?> </p> <?php if ( 'no' === get_option( 'woocommerce_registration_generate_password' ) ) : ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="reg_password"><?php esc_html_e( 'Password', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="password" class="woocommerce-Input woocommerce-Input--text input-text" name="password" autocomplete="new-password" /> </p> <?php else : ?> <p><?php esc_html_e( 'A password will be sent to your email address.', 'woocommerce' ); ?></p> <?php endif; ?> <?php do_action( 'woocommerce_register_form' ); ?> <p class="woocommerce-form-row form-row"> <?php wp_nonce_field( 'woocommerce-register', 'woocommerce-register-nonce' ); ?> <button type="submit" class="woocommerce-Button woocommerce-button button woocommerce-form-register__submit" name="register" value="<?php esc_attr_e( 'Register', 'woocommerce' ); ?>"><?php esc_html_e( 'Register', 'woocommerce' ); ?></button> </p> <?php do_action( 'woocommerce_register_form_end' ); ?> </form> </div> <?php do_action( 'woocommerce_after_customer_login_form' ); ?> <?php get_footer();?>
To, co zrobiliśmy początkowo w tym kodzie, to nazwa szablonu w komentarzu Template name: Registration Form
. Następnie sprawdzamy, czy użytkownik jest już zalogowany. Pozostała część kodu jest zasadniczo kopią części treści login-form.php
, która jest powiązana z formularzem rejestracyjnym, opakowana w <div class="custom-registration">
element.
Następnie dodajemy nową stronę na ekranie wp-admin Pages i nazywamy ją tak, jak nam się podoba. Być może sensowne byłoby nazwanie tego czymś w rodzaju „Strona rejestracyjna”. Następnie upewnij się, że wybrałeś właściwy szablon (ten, który właśnie stworzyliśmy) za pomocą selektora szablonów na prawym pasku bocznym.
Teraz wszystko, co musimy zrobić, to zapewnić sposób, w jaki użytkownicy mogą uzyskać dostęp do tej strony. Możesz utworzyć element menu „Zarejestruj” i połączyć go ze stroną rejestracji, którą właśnie utworzyłeś, lub możesz edytować form-login.php
i zastąpić kod rejestracyjny tylko linkiem do strony rejestracji.
Gdybyśmy to zrobili, zmodyfikowalibyśmy plik form-login.php
pod themes/twentytwenty/woocommerce/myaccount/
tak, aby zawartość wyglądała tak:
<?php /** * Login Form * * This template can be overridden by copying it to yourtheme/woocommerce/myaccount/form-login.php. * * HOWEVER, on occasion WooCommerce will need to update template files and you * (the theme developer) will need to copy the new files to your theme to * maintain compatibility. We try to do this as little as possible, but it does * happen. When this occurs the version of the template file will be bumped and * the readme will list any important changes. * * @see https://docs.woocommerce.com/document/template-structure/ * @package WooCommerce\Templates * @version 4.1.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } do_action( 'woocommerce_before_customer_login_form' ); ?> <h2><?php esc_html_e( 'Login', 'woocommerce' ); ?></h2> <form class="woocommerce-form woocommerce-form-login login" method="post"> <?php do_action( 'woocommerce_login_form_start' ); ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="username"><?php esc_html_e( 'Username or email address', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" autocomplete="username" value="<?php echo ( ! empty( $_POST['username'] ) ) ? esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" /><?php // @codingStandardsIgnoreLine ?> </p> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="password"><?php esc_html_e( 'Password', 'woocommerce' ); ?> <span class="required">*</span></label> <input class="woocommerce-Input woocommerce-Input--text input-text" type="password" name="password" autocomplete="current-password" /> </p> <?php do_action( 'woocommerce_login_form' ); ?> <p class="form-row"> <label class="woocommerce-form__label woocommerce-form__label-for-checkbox woocommerce-form-login__rememberme"> <input class="woocommerce-form__input woocommerce-form__input-checkbox" name="rememberme" type="checkbox" value="forever" /> <span><?php esc_html_e( 'Remember me', 'woocommerce' ); ?></span> </label> <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?> <button type="submit" class="woocommerce-button button woocommerce-form-login__submit" name="login" value="<?php esc_attr_e( 'Log in', 'woocommerce' ); ?>"><?php esc_html_e( 'Log in', 'woocommerce' ); ?></button> </p> <p class="woocommerce-LostPassword lost_password"> <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'woocommerce' ); ?></a> </p> <?php do_action( 'woocommerce_login_form_end' ); ?> </form> <a href="/?p=202">Sign Up</a> <?php do_action( 'woocommerce_after_customer_login_form' ); ?>
Numer 202 to identyfikator niestandardowej strony rejestracji. Jako szybkie przypomnienie, możesz zobaczyć identyfikator strony w adresie URL, gdy jest on otwarty w edytorze zaplecza.
Teraz, jeśli spojrzysz na stronę z poziomu interfejsu, powinieneś zobaczyć coś takiego, gdy przejdziesz na stronę szczegółów konta:
Jeśli klikniesz link Zarejestruj się, powinieneś zostać przekierowany do utworzonej przez nas strony rejestracji, takiej jak ta pokazana poniżej:
Całkiem proste, prawda?
Tworzenie krótkiego kodu
Strona konta WooCommerce zawiera krótki kod [woocommerce_my_account], którego można użyć do wyprowadzenia formularzy za pomocą pliku form-login.php
. W tej sekcji zobaczymy, jak możemy tworzyć własne shortcodes, jeden dla formularza logowania, a drugi dla formularza rejestracyjnego, który stworzyliśmy powyżej.
Skrócony kod rejestracji WooCommerce
Otwórz plik functions.php
motywu za pomocą edytora i wstaw następujące wiersze:
// REGISTRATION SHORTCODE function wc_registration_form_function() { if ( is_admin() ) return; if ( is_user_logged_in() ) return; // OUR REGISTRATION FORM CONTENT } add_shortcode( 'wc_registration_form', 'wc_registration_form_function' );
W ten sposób unikamy konieczności używania oddzielnego szablonu niestandardowego. Zamiast tego dołączymy zawartość szablonu, który stworzyliśmy wcześniej w następujący sposób:
// REGISTRATION SHORTCODE function wc_registration_form_function() { if ( is_admin() ) return; if ( is_user_logged_in() ) return; ob_start(); do_action( 'woocommerce_before_customer_login_form' ); ?> <form method="post" class="woocommerce-form woocommerce-form-register register" <?php do_action( 'woocommerce_register_form_tag' ); ?> > <?php do_action( 'woocommerce_register_form_start' ); ?> <?php if ( 'no' === get_option( 'woocommerce_registration_generate_username' ) ) : ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="reg_username"><?php esc_html_e( 'Username', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" autocomplete="username" value="<?php echo ( ! empty( $_POST['username'] ) ) ? esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" /><?php // @codingStandardsIgnoreLine ?> </p> <?php endif; ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="reg_email"><?php esc_html_e( 'Email address', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="email" class="woocommerce-Input woocommerce-Input--text input-text" name="email" autocomplete="email" value="<?php echo ( ! empty( $_POST['email'] ) ) ? esc_attr( wp_unslash( $_POST['email'] ) ) : ''; ?>" /><?php // @codingStandardsIgnoreLine ?> </p> <?php if ( 'no' === get_option( 'woocommerce_registration_generate_password' ) ) : ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="reg_password"><?php esc_html_e( 'Password', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="password" class="woocommerce-Input woocommerce-Input--text input-text" name="password" autocomplete="new-password" /> </p> <?php else : ?> <p><?php esc_html_e( 'A password will be sent to your email address.', 'woocommerce' ); ?></p> <?php endif; ?> <?php do_action( 'woocommerce_register_form' ); ?> <p class="woocommerce-form-row form-row"> <?php wp_nonce_field( 'woocommerce-register', 'woocommerce-register-nonce' ); ?> <button type="submit" class="woocommerce-Button woocommerce-button button woocommerce-form-register__submit" name="register" value="<?php esc_attr_e( 'Register', 'woocommerce' ); ?>"><?php esc_html_e( 'Register', 'woocommerce' ); ?></button> </p> <?php do_action( 'woocommerce_register_form_end' ); ?> </form> <?php return ob_get_clean(); } add_shortcode( 'wc_registration_form', 'wc_registration_form_function' );
Jak widać, nazwaliśmy Shortcode [wc_registration_form] i umieściliśmy nasz kod HTML w funkcji ob_start(). W ten sposób włączamy buforowanie wyjścia, aby kod HTML był przechowywany i zwracany jako ciąg.
Jesteśmy teraz gotowi, aby przejść do naszego obszaru administracyjnego i edytować naszą stronę rejestracji. Po otwarciu strony rejestracji po prostu wstaw krótki kod [wc_registration_form]. W tym przypadku możesz użyć dowolnego szablonu, ponieważ nie jesteśmy uzależnieni od samego szablonu do generowania formularza rejestracyjnego.
Teraz, gdy otworzysz stronę rejestracji w interfejsie, powinieneś zobaczyć formularz rejestracyjny.
Korzystanie ze skrótów zapewnia nam większą elastyczność niż korzystanie ze strony z szablonem, ponieważ możemy zmieniać projekt całej strony w locie bez konieczności ponownego kodowania pliku szablonu. To samo w sobie wyjaśnia, dlaczego skróty są tak popularne w WordPressie.
Krótki kod logowania WooCommerce
Teraz mamy skrócony kod do formularza rejestracyjnego, możemy przejść dalej i utworzyć go do formularza logowania. Ponownie otwórz plik functions.php
i wstaw następujący kod:
// LOGIN SHORTCODE function wc_login_form_function() { if ( is_admin() ) return; if ( is_user_logged_in() ) return; ob_start(); ?> <form class="woocommerce-form woocommerce-form-login login" method="post"> <?php do_action( 'woocommerce_login_form_start' ); ?> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="username"><?php esc_html_e( 'Username or email address', 'woocommerce' ); ?> <span class="required">*</span></label> <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="username" autocomplete="username" value="<?php echo ( ! empty( $_POST['username'] ) ) ? esc_attr( wp_unslash( $_POST['username'] ) ) : ''; ?>" /><?php // @codingStandardsIgnoreLine ?> </p> <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide"> <label for="password"><?php esc_html_e( 'Password', 'woocommerce' ); ?> <span class="required">*</span></label> <input class="woocommerce-Input woocommerce-Input--text input-text" type="password" name="password" autocomplete="current-password" /> </p> <?php do_action( 'woocommerce_login_form' ); ?> <p class="form-row"> <label class="woocommerce-form__label woocommerce-form__label-for-checkbox woocommerce-form-login__rememberme"> <input class="woocommerce-form__input woocommerce-form__input-checkbox" name="rememberme" type="checkbox" value="forever" /> <span><?php esc_html_e( 'Remember me', 'woocommerce' ); ?></span> </label> <?php wp_nonce_field( 'woocommerce-login', 'woocommerce-login-nonce' ); ?> <button type="submit" class="woocommerce-button button woocommerce-form-login__submit" name="login" value="<?php esc_attr_e( 'Log in', 'woocommerce' ); ?>"><?php esc_html_e( 'Log in', 'woocommerce' ); ?></button> </p> <p class="woocommerce-LostPassword lost_password"> <a href="<?php echo esc_url( wp_lostpassword_url() ); ?>"><?php esc_html_e( 'Lost your password?', 'woocommerce' ); ?></a> </p> <?php do_action( 'woocommerce_login_form_end' ); ?> </form> <?php return ob_get_clean(); } add_shortcode( 'wc_login_form', 'wc_login_form_function' );
Teraz, jeśli chodzi o stronę rejestracji, możesz iść dalej i utworzyć stronę „Login”, wstawić krótki kod [wc_login_form] i gotowe.
Jeśli chcesz pójść o krok dalej i dyktować stronę, do której użytkownicy są kierowani po wylogowaniu się z Twojej witryny, możesz użyć haka wp_logout
w następujący sposób:
add_action('wp_logout','my_redirect_after_logout'); function my_redirect_after_logout(){ wp_redirect( '/?p=207' ); exit(); }
Użyty powyżej adres URL /?p=207
odwołuje się do identyfikatora strony, do której chcemy skierować użytkowników po wylogowaniu. Zastąp to identyfikatorem wybranej strony wylogowania.
Ważna uwaga!
Warto pamiętać, że każdy może odwiedzić Twoje nowe strony logowania i/lub rejestracji… i przez każdego mamy na myśli również boty! Dlatego bardzo ważne jest, aby chronić swoją witrynę przed fałszywymi rejestracjami i logowaniem typu brute force. Aby uzyskać więcej informacji na temat ochrony witryny, zdecydowanie zalecamy poświęcenie czasu na przeczytanie naszego przewodnika Jak zabezpieczyć witrynę WordPress, a także Jak radzić sobie ze spamem w witrynie WordPress.
Mam nadzieję, że ten artykuł dał ci kilka pomysłów na to, jak ponownie wyobrazić sobie swoje strony rejestracji i logowania WooCommerce oraz dał ci narzędzia do wprowadzania zmian tam, gdzie uważasz za stosowne.