1. Strona główna
  2. Baza wiedzy
  3. WooCommerce Wholesale Order Form
  4. Jak przekierować adres URL logowania na ograniczonej stronie formularza zamówień hurtowych

Jak przekierować adres URL logowania na ograniczonej stronie formularza zamówień hurtowych

Jeśli prowadzisz więcej niż jeden formularz zamówień hurtowych, odwiedzający, który nie ma dostępu do formularza, widzi Twój tekst „Odmowa dostępu” z linkiem do logowania. Ten link zawsze prowadzi do tej samej strony, ustawionej w Przechwytywanie potencjalnych klientów hurtowych, niezależnie od tego, na którym formularzu się znajdował. Ten artykuł pokazuje, jak wysyłać odwiedzających na inną stronę logowania dla każdego formularza.

Wymagania

  • WooCommerce Wholesale Order Form, z co najmniej dwiema stronami formularzy zamówień i ustawionymi na nich uprawnieniami.
  • Przechwytywanie potencjalnych klientów hurtowych, które zapewnia ustawienie przekierowania logowania, które ten fragment kodu nadpisuje.
  • Bezpieczne miejsce do dodawania kodu PHP: motyw potomny, wtyczka specyficzna dla witryny lub wtyczka fragmentów kodu, taka jak WPCode.

Każdy formularz zamówień ma swoje własne uprawnienia i własny tekst „Odmowa dostępu”. Adres URL logowania za tym tekstem jest pojedynczym globalnym ustawieniem, więc każdy formularz wysyła odwiedzających w to samo miejsce.

Ustawienia uprawnień formularza zamówień hurtowych z tekstem „Odmowa dostępu” i opcjami przekierowania logowania

Wyślij każdy formularz na własną stronę logowania

Filtruj adres URL logowania i zwracaj inny w zależności od przeglądanej strony. Dodaj to do pliku functions.php swojego motywu potomnego, wtyczki specyficznej dla witryny lub wtyczki fragmentów kodu.

add_filter(
    'option_wwof_permissions_noaccess_login_url',
    function ( $url ) {

        $page_id = get_queried_object_id();

        if ( ! $page_id ) {
            return $url;
        }

        // Replace 123 and 124 with your order form page IDs,
        // and the URLs with the login page each one should use.
        if ( 123 === $page_id ) {
            return 'https://example.com/retailer-login/';
        }

        if ( 124 === $page_id ) {
            return 'https://example.com/distributor-login/';
        }

        return $url;
    }
);

Dwa szczegóły są ważne. Użyj get_queried_object_id() zamiast odczytywania globalnego zapytania bezpośrednio, ponieważ w przypadku żądania bez strony, takiej jak 404 lub kanał informacyjny, starsza forma $wp_query->post->ID powoduje krytyczny błąd. I zawsze zwracaj $url na końcu, aby każda strona, której nie wymieniłeś, zachowała domyślną stronę logowania.

Znajdź identyfikatory stron formularzy zamówień

  1. Przejdź do sekcji Strony w swoim panelu administracyjnym WordPress.
  2. Otwórz stronę zawierającą formularz zamówień.
  3. Odczytaj wartość post z paska adresu przeglądarki. W adresie post.php?post=123&action=edit identyfikator strony to 123.

Często zadawane pytania

Czy mogę to zrobić bez kodu?
Nie. Adres URL logowania to jedno globalne ustawienie w Przechwytywaniu potencjalnych klientów hurtowych, więc wysyłanie różnych formularzy na różne strony wymaga powyższego filtru.

Co się dzieje na stronie, której nie wymieniłem?
Używa ona strony logowania ustawionej w Przechwytywaniu potencjalnych klientów hurtowych, ponieważ fragment kodu zwraca oryginalną wartość dla wszystkiego, czego nie dopasowuje.

Przekierowanie się nie zmienia. Co powinienem sprawdzić?
Najpierw sprawdź identyfikator strony, ponieważ to strona zawierająca formularz zamówień, a nie identyfikator formularza. Następnie upewnij się, że fragment kodu faktycznie się ładuje, dodając go za pomocą wtyczki fragmentów kodu, a nie motywu, który może być nieaktywny.

Czy to zmienia miejsce, do którego klienci trafiają po zalogowaniu?
Nie. Zmienia tylko stronę logowania, do której prowadzi tekst „Odmowa dostępu”. Miejsce, do którego klient trafia po zalogowaniu, to nadal ustawienie Przechwytywania potencjalnych klientów hurtowych.

Potrzebujesz pomocy?

Jeśli masz pytanie lub napotkasz jakiekolwiek problemy, jesteśmy tutaj, aby pomóc.

Czy ten artykuł był pomocny?

Powiązane artykuły

Zakończ Zakup