Se gestisci più di un modulo d'ordine all'ingrosso, un visitatore che non ha accesso a un modulo vede il tuo testo "Accesso negato" con un link di accesso. Quel link punta sempre alla stessa pagina, quella impostata in Wholesale Lead Capture, indipendentemente dal modulo su cui si trovava. Questo articolo mostra come inviare i visitatori a una pagina di accesso diversa per modulo.
Requisiti
- Modulo d'ordine all'ingrosso di WooCommerce, con almeno due pagine di modulo d'ordine e autorizzazioni impostate su di esse.
- Wholesale Lead Capture, che fornisce l'impostazione di reindirizzamento dell'accesso che questo snippet sovrascrive.
- Un posto sicuro dove aggiungere PHP: un tema figlio, un plugin specifico per il sito o un plugin di snippet di codice come WPCode.
Perché il link di accesso va sempre alla stessa pagina
Ogni modulo d'ordine ha le proprie autorizzazioni e il proprio testo "Accesso negato". L'URL di accesso dietro quel testo è un'unica impostazione globale, quindi ogni modulo invia i visitatori nello stesso posto.
Invia ogni modulo alla propria pagina di accesso
Filtra l'URL di accesso e restituiscine uno diverso a seconda della pagina visualizzata. Aggiungi questo al file functions.php del tuo tema figlio, a un plugin specifico per il sito o a un plugin di snippet di codice.
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;
}
);
Due dettagli sono importanti. Usa get_queried_object_id() invece di leggere direttamente la query globale, perché in una richiesta senza pagina associata, come un 404 o un feed, la vecchia forma $wp_query->post->ID genera un errore fatale. E restituisci sempre $url alla fine, in modo che qualsiasi pagina che non hai elencato mantenga la pagina di accesso predefinita.
Trova gli ID delle tue pagine del modulo d'ordine
- Vai su Pagine nella tua bacheca di WordPress.
- Apri la pagina che contiene il modulo d'ordine.
- Leggi il valore
postnella barra degli indirizzi del browser. Inpost.php?post=123&action=edit, l'ID della pagina è 123.
Domande frequenti
Posso farlo senza codice?
No. L'URL di accesso è un'unica impostazione globale in Wholesale Lead Capture, quindi inviare moduli diversi a pagine diverse richiede il filtro sopra.
Cosa succede in una pagina che non elenco?
Utilizza la pagina di accesso impostata in Wholesale Lead Capture, perché lo snippet restituisce il valore originale per tutto ciò che non corrisponde.
Il reindirizzamento non cambia. Cosa dovrei controllare?
Controlla prima l'ID della pagina, poiché è la pagina che contiene il modulo d'ordine, non l'ID del modulo. Quindi conferma che lo snippet venga effettivamente caricato, aggiungendolo tramite un plugin di snippet di codice anziché un tema che potrebbe essere inattivo.
Questo cambia dove vanno i clienti dopo aver effettuato l'accesso?
No. Cambia solo la pagina di accesso a cui punta il testo "Accesso negato". Dove atterra un cliente dopo aver effettuato l'accesso è ancora l'impostazione di Wholesale Lead Capture.
Serve aiuto?
Se hai una domanda o riscontri problemi, siamo qui per aiutarti.
- Utenti Premium: Apri un ticket di supporto
- Utenti Gratuiti: Visita il nostro forum della community

