1. Home
  2. Kennisbank
  3. WooCommerce Wholesale Order Form
  4. Hoe de inlog-URL om te leiden op een beperkt groothandelsbestelformulier

Hoe de inlog-URL om te leiden op een beperkt groothandelsbestelformulier

Als u meer dan één groothandelsbestelformulier uitvoert, ziet een bezoeker die geen toegang heeft tot een formulier uw Tekst Toegang Geweigerd met een inloglink. Die link wijst altijd naar dezelfde pagina, degene die is ingesteld in Wholesale Lead Capture, ongeacht op welk formulier ze waren. Dit artikel laat u zien hoe u bezoekers naar een andere inlogpagina per formulier kunt sturen.

Vereisten

  • WooCommerce Wholesale Order Form, met ten minste twee bestelformulierpagina's en daarop ingestelde machtigingen.
  • Wholesale Lead Capture, dat de instelling voor inlogomleiding biedt die dit codefragment overschrijft.
  • Ergens veilig om PHP toe te voegen: een child theme, een site-specifieke plugin, of een code snippets plugin zoals WPCode.

Elk bestelformulier heeft zijn eigen machtigingen en zijn eigen Tekst Toegang Geweigerd. De inlog-URL achter die tekst is een enkele globale instelling, dus elk formulier stuurt bezoekers naar dezelfde plek.

Instellingen voor machtigingen van het groothandelsbestelformulier met de opties voor Tekst Toegang Geweigerd en inlogomleiding

Stuur elk formulier naar zijn eigen inlogpagina

Filter de inlog-URL en retourneer een andere, afhankelijk van de bekeken pagina. Voeg dit toe aan de functions.php van uw child theme, een site-specifieke plugin, of een code snippets plugin.

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;
    }
);

Twee details zijn belangrijk. Gebruik get_queried_object_id() in plaats van de globale query direct te lezen, omdat bij een verzoek zonder pagina erachter, zoals een 404 of een feed, de oudere $wp_query->post->ID vorm een fatale fout veroorzaakt. En retourneer altijd $url aan het einde, zodat elke pagina die u niet hebt vermeld, de standaard inlogpagina behoudt.

Vind de ID's van uw bestelformulierpagina's

  1. Ga naar Pagina's in uw WordPress-admin.
  2. Open de pagina die het bestelformulier bevat.
  3. Lees de post-waarde in de adresbalk van de browser. In post.php?post=123&action=edit is de paginanaam 123.

Veelgestelde vragen

Kan ik dit zonder code doen?
Nee. De inlog-URL is één globale instelling in Wholesale Lead Capture, dus het verzenden van verschillende formulieren naar verschillende pagina's vereist de bovenstaande filter.

Wat gebeurt er op een pagina die ik niet vermeld?
Het gebruikt de inlogpagina ingesteld in Wholesale Lead Capture, omdat het codefragment de originele waarde retourneert voor alles wat het niet matcht.

De omleiding verandert niet. Wat moet ik controleren?
Controleer eerst de paginanaam, aangezien dit de pagina is die het bestelformulier bevat, niet de formulier-ID. Bevestig vervolgens dat het codefragment daadwerkelijk wordt geladen, door het toe te voegen via een code snippets plugin in plaats van een thema dat mogelijk inactief is.

Verandert dit waar klanten naartoe gaan nadat ze zijn ingelogd?
Nee. Het verandert alleen de inlogpagina waarnaar de Tekst Toegang Geweigerd verwijst. Waar een klant landt na het inloggen is nog steeds de instelling van Wholesale Lead Capture.

Hulp nodig?

Als je een vraag hebt of tegen problemen aanloopt, staan we klaar om te helpen.

Was dit artikel nuttig?

Gerelateerde Artikelen

Voltooi uw aankoop