1. Accueil
  2. Base de connaissances
  3. WooCommerce Wholesale Order Form
  4. Comment rediriger l'URL de connexion sur un formulaire de commande de gros restreint

Comment rediriger l'URL de connexion sur un formulaire de commande de gros restreint

Si vous gérez plus d'un formulaire de commande de gros, un visiteur qui n'a pas accès à un formulaire voit votre texte Accès refusé avec un lien de connexion. Ce lien pointe toujours vers la même page, celle définie dans Capture de prospects de gros, quel que soit le formulaire sur lequel il se trouvait. Cet article vous montre comment envoyer les visiteurs vers une page de connexion différente par formulaire.

Prérequis

  • Formulaire de commande de gros WooCommerce, avec au moins deux pages de formulaire de commande et des autorisations définies sur celles-ci.
  • Capture de prospects de gros, qui fournit le paramètre de redirection de connexion que ce extrait remplace.
  • Un endroit sûr pour ajouter du PHP : un thème enfant, un plugin spécifique au site ou un plugin d'extraits de code tel que WPCode.

Chaque formulaire de commande a ses propres autorisations et son propre texte Accès refusé. L'URL de connexion derrière ce texte est un seul paramètre global, donc chaque formulaire envoie les visiteurs au même endroit.

Paramètres d'autorisation du formulaire de commande de gros avec le texte Accès refusé et les options de redirection de connexion

Envoyer chaque formulaire vers sa propre page de connexion

Filtrez l'URL de connexion et renvoyez-en une différente en fonction de la page consultée. Ajoutez ceci au functions.php de votre thème enfant, à un plugin spécifique au site ou à un plugin d'extraits de code.

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

Deux détails sont importants. Utilisez get_queried_object_id() plutôt que de lire la requête globale directement, car lors d'une requête sans page associée, comme une 404 ou un flux, l'ancienne forme $wp_query->post->ID génère une erreur fatale. Et retournez toujours $url à la fin, de sorte que toute page que vous n'avez pas listée conserve la page de connexion par défaut.

Trouver les identifiants de vos pages de formulaire de commande

  1. Accédez à Pages dans votre administration WordPress.
  2. Ouvrez la page qui contient le formulaire de commande.
  3. Lisez la valeur post dans la barre d'adresse du navigateur. Dans post.php?post=123&action=edit, l'identifiant de la page est 123.

Questions fréquemment posées

Puis-je faire cela sans code ?
Non. L'URL de connexion est un paramètre global dans Capture de prospects de gros, donc l'envoi de différents formulaires vers différentes pages nécessite le filtre ci-dessus.

Que se passe-t-il sur une page que je n'ai pas listée ?
Elle utilise la page de connexion définie dans Capture de prospects de gros, car l'extrait renvoie la valeur d'origine pour tout ce qu'il ne correspond pas.

La redirection ne change pas. Que dois-je vérifier ?
Vérifiez d'abord l'identifiant de la page, car c'est la page qui contient le formulaire de commande, pas l'identifiant du formulaire. Confirmez ensuite que l'extrait est bien chargé, en l'ajoutant via un plugin d'extraits de code plutôt qu'un thème qui pourrait être inactif.

Cela change-t-il l'endroit où les clients vont après s'être connectés ?
Non. Cela ne change que la page de connexion vers laquelle pointe le texte Accès refusé. L'endroit où un client atterrit après s'être connecté est toujours le paramètre de Capture de prospects de gros.

Besoin d'aide ?

Si vous avez une question ou rencontrez des problèmes, nous sommes là pour vous aider.

Cet article vous a-t-il été utile ?

Articles liés

Finalisez votre achat