Intégrer l’espace client de WooCommerce dans #BuddyPress

Publié le

par

Crédits Photo : Paparazzi by Kimberly Mahr, on Flickr »

Quand on utilise BuddyPress + Advanced Custom Fields + WooCommerce, notre utilisateur se perd dans trois environnements de profil différents. Ces plugins ne pourraient-ils pas s’entendre pour éviter des confusions pour l’utilisateur final ?

Voici en substance la remarque à laquelle je n’ai pas su ou osé répondre instantanément. En effet, je l’admets, si je commence à bien connaître WordPress et connaît BuddyPress par coeur, c’est carrément pas la même histoire concernant ACF ou WooCommerce. Alors plutôt que de livrer une réponse intuitive, j’ai préféré regarder ce que faisait ces deux extensions en matière de gestion de profil utilisateur pour essayer de rester le plus objectif possible.

ACF et WooCommerce sont deux extensions très populaires, comparativement activées 10 fois plus fréquemment que BuddyPress si on s’interesse aux statistiques proposées par WordPress.org. Statistiques qui pourraient générer chez certains une évidence selon laquelle BuddyPress doit s’adapter.. Objections ! Méfions-nous des statistiques !

A mon grand regret, BuddyPress est souvent une extension « enfermée » dans la case « réseau social ». Bien entendu on peut créer un réseau social grâce à BuddyPress, mais selon moi, c’est avant tout un expert de la gestion des utilisateurs et de leurs interactions en front-end. Comme je l’avais expliqué lors d’un atelier à l’occasion du WordCamp Lyon de 2015 : pensez à BuddyPress dés que la dimension utilisateur commence à prendre de l’importance pour votre projet.

Un champ ACF dans le profil WordPress (Administration)

Alors j’ai activé ACF et « out of the box », s’agissant du cas particulier de l’objet « Utilisateur », il semble se contenter d’intégrer les champs créés pour cet objet au sein de la page de profil que WordPress propose dans son administration.

Ensuite, j’ai activé WooCommerce. J’ai très rapidement constaté que le client « lambda » de ma boutique ne pouvait pas, par défaut, accéder à l’administration de WordPress et donc à son profil dans cette zone. En effet, WooCommerce redirige le client sur son profil d’acheteur à savoir l’environnement « My Account ». Par conséquent, j’ai sorti ACF de l’équation puisque la confusion dont il est question ne peut le concerner (se reporter à la méthode WC_Admin::prevent_admin_access() de WooCommerce).

Les pages de compte client de WooCommerce

_doing_it_right() pour l’utilisateur final.

Si vous écoutez le 18ème numéro du #VFTPodcast, vous remarquerez que nous discutons de cette préoccupation (entre autres!!) : à partir du moment où WooCommerce et BuddyPress sont activés où doit-on retrouver le profil de l’utilisateur ? Dans le « My Account » de WooCommerce ou au sein des pages de profil générées par BuddyPress ?

Alors, maintenant que j’ai regardé en détail ce que fait WooCommerce dans ce domaine, je suis en mesure de vous confirmer, sans la moindre hésitation, que ce sont bien les pages « My Account » de WooCommerce qui doivent s’intégrer dans le profil BuddyPress.

D’abord parce que les pages WooCommerce sont restrictives, il s’agit d’une gestion de compte et donc il n’est pas cohérent pour BuddyPress d’y afficher des informations publiques concernant l’utilisateur. Ensuite parce que l’API de WooCommerce dans ce domaine particulier (je ne remets absolument pas en cause l’excellence de l’extension quant à la gestion d’une boutique en ligne) est beaucoup moins élaborée et bien moins complète que celle de BuddyPress. Ainsi, il est très simple d’intégrer le profil d’acheteur généré par WooCommerce dans un des onglets du profil utilisateur de BuddyPress tout en s’assurant que seul l’utilisateur connecté pourra le consulter et le sien uniquement et y gérer ses commandes, adresses de livraison etc…

Les pages de comptes WooCommerce dans BuddyPress

Si vous souhaitez prendre un raccourci, vous pouvez jouer avec cette extension que je me suis amusé à concevoir pour démontrer le propos de cet article. Elle n’interviendra que si la version 2.5 de BuddyPress est activée (il faut bien que je vous motive à bêtatester la 2.5) et fera le nécessaire pour que vos utilisateurs gèrent depuis un seul et même environnement leurs infos communautaires et leur compte d’acheteur.

Téléchargements

Si vous avez besoin d’une navigation vers les pages WooCommerce du profil BuddyPress, je vous invite à utiliser un « BuddyPress Dynamic Menu Item » pour faciliter encore plus la vie à vos membres.

Ajouter le menu My Account que si l’utilisateur est connecté.

Pour conclure, tout comme WooCommerce, WP Idea Stream propose un profil utilisateur en front-end pour ses besoins. Mais je crois qu’à partir du moment où BuddyPress est activé, on a vraiment intérêt à se reposer sur lui, raison pour laquelle WP Idea Stream n’affiche plus son profil intégré mais s’interface dans celui de BuddyPress dés qu’il détecte sa présence.

2 réponses à “Intégrer l’espace client de WooCommerce dans #BuddyPress”

  1. Avatar de cuffaut
    cuffaut

    Bonjour. Je suis arrivé sur ce site attiré par l’idée de l’interaction Woocommerce/Buddypress sur laquelle j’avais quelques « ? ». Puis un article en entrainant un autre…. puis la philosophie du « m’encourager » …puis j’ai été survoler le code de la suggestion BP/Woo sur Github, en bref j’ai crapahuté avec plaisir dans le site.
    A ce sujet (cf multisite/buddypress/woocommerce) puis je solliciter un avis sur un cas particulier en gardant à l’esprit les contraintes citées dans « m’encourager »? (à titre de détail, la non compatibilité parfaite de certains plugins (jonradio entre autres avec BP). En tout cas bonne journée et peut être à vous lire

    1. Avatar de imath

      Hello, Je ne connais pas ce plugin « jonradio » désolé. Si votre cas particulier peut intéresser d’autres utilisateurs, pourquoi pas.. Autrement je risque de ne pas être en mesure de vous aider, dsl.