Site membre woocommerce redirection à partir de l’accueil
1-contexte
Pour un site ecommerce, qui finalement s’est terminé en site statique(!), j’ai du concevoir à la base un système de redirection un peu particulier. Le site initial tourne donc avec Woocommerce et des membres.
J’ai une page d’accueil avec un formulaire d’inscription, connexion. Ce formulaire se trouve ici.
Ensuite, le client voulait qu’en fonction du rôle, l’utilisateur soit redirigé vers une page propre, ou plutôt, toute une série de page que lui seul pourrait voir , avec le modèle suivant : l’utilisateur A se logue, il arrive sur une page avec un menu A, qui contient des pages A
un utilisateur B se logue, il arrive sur une page avec un menu B, qui contient des pages B etc etc..l’apparence du site restant toujours la même.
2-Environnement technique:
je créée des catégories A et des catégories B dans woocommerce à partir du back office .
j’importe de nombreuses photos en une seule fois , grâce au plugin Bulk import Photos. Je crée d’abord des variations, 2 par catégories, puis je télécharge mes photos. Sur la partie front les variations font que chaque produit aura deux types de prix différents, un pour chaque variation (par exemple : photo grande 10€ et photos petites 5€, mais il n’y aura qu’une seule image ou représentation du produit).Cela fonctionne comme avec woocommerce classique, des Tshirts XL, Large medium par exemple.
Je place ensuite ces catégories dans mon menu, dans Apparence puis Menu.J’enregistre le tout.
Ensuite je télécharge le plugin User_role_editor cela va me permettre d’éditer de nouveaux rôles wordpress. On retrouve le plugin dans le menu ‘Users » du backoffice. Dans l’interface du plugin, je rajoute deux rôles, un pour les catégories A, un deuxième pour la catégorie B. Je crée par exemple un rôle ‘Élève’ puis un deuxième rôle ‘Responsables ».
Ensuite à l’aide du plugin nav_menu_role je détermine la visibilité de mes catégories en fonction du rôle : je vais directement dans l’onglet Apparence /Menu, puis je déroule chacun de mes menus:
Les élèves ne verront que les catégories A
Les responsables, eux ne verront que les catégories B
Mais comment faire pour qu’à l’inscription, sans que l’administrateur aie à le faire manuellement, un utilisateur soit redirigé vers la bonne section du site?? Je télécharge le plugin Wp _role_at_registration : celui ci va automatiquement insérer dans mon formulaire de connexion un nouveau champ select ,dans lequel l’utilisateur pourra vérifier et choisir son rôle.
L’élève se connectera en tant qu »élève et le prof en tant que responsable.
L’élève ne verra dans son menu que les catégories A.
Et les responsables ne verront que les catégories B.
On a déjà là quelque chose qui marche bien. Le problème, c’est qu’on laisse ici le le choix à l’utilisateur de définir lui même son rôle au moment de la connexion, donc de se diriger lui même vers le groupe de page de son choix. Il peut se tromper, ne pas savoir quel type d’utilisateur il veut ou doit être, du coup il accède aux pages qui ne lui sont pas destinées.
Il revient s’inscrire avec une autre adresse mail et identifiant , prend un nouveau rôle, et il a ainsi accès à toutes les sections du site.Ce qui est moyen si l’on veut quelque chose de vraiment restrictif. Ceci est donc surtout utile pour un site de test. Pour améliorer la solution, il faudrait un outil qui détecte le rôle de l’utilisateur en fonction de son identifiant ou adresse mail.