J'essaie de rediriger ma page de boutique personnalisée vers la page du panier après que l'utilisateur ait sélectionné les attributs personnalisés (responsabilité et heures), puis clique sur le bouton d'achat.Ajouter des attributs personnalisés d'un produit variable au panier dans WooCommerce
J'ai écrit un code JS personnalisé qui récupère la variable_id et la valeur des attributs et l'ajoute à l'URL pour qu'il soit automatiquement ajouté au panier et redirigé vers la page du panier.
href="yourdomain.com/?add-to-cart=47&variation_id=88&quantity=3&attribute_pa_colour=blue&attribute_pa_size=m"
C'est le format d'URL que j'ai trouvé dans un blog: (https://businessbloomer.com/woocommerce-custom-add-cart-urls-ultimate-guide/)
et je fait mon lien dans ce format.
Mon lien est:
localhost/wordpress/cart/?add-to-cart=1185&variation_id=1641&quantity=1&attribute_pa_liability=2_million&attribute_pa_hours=500_hours
Lorsque la responsabilité et les heures est mon attribut personnalisé qui a des valeurs que 1 million, 2 millions et 500 heures, 750 heures respectivement.
Mais quand il est redirigé vers la page du panier woocommerce donnez-moi une erreur et montre sa boîte d'alerte qui affiche le message d'erreur comme "la responsabilité et les heures sont obligatoires".
Je pense que woocommerce est incapable d'obtenir les valeurs d'attribut via mon URL. Est-ce que quelqu'un peut expliquer pourquoi cela se produit et quelle est l'erreur s'il y en a?
comment obtenez-vous ces propriétés sur la page de paiement? – madalinivascu
Je récupère les valeurs de attribute_pa_liability et attribute_pa_hours à partir de $ _GET dans une fonction membership_forms_handler et vérifie si toutes les listes déroulantes des attributs sont sélectionnées et récupère la valeur et crée le lien vers lequel l'utilisateur est redirigé. Ci-dessous le code qui est utilisé, $ redirect_url = home_url(). "/ Cart /? Add-to-cart =". $ _ GET ["membership_product"]. "& Variation_id =". $ _ GET ['variation_id']. " & quantity = ". $ _ GET [" quantity "]." & attribute_pa_liability = ". $ _ GET ['attribute_pa_liability']." & attribute_pa_hours = ". $ _ GET ['attribut_pa_heures']; wp_redirect ($ redirect_url); –
et quand l'utilisateur est redirigé comment allez-vous chercher les paramètres sur cette page? Je veux dire sur 'localhost/wordpress/panier /? Add-to-cart = 1185 & variation_id = 1641 & quantité = 1 & attribute_pa_liability = 2_million & attribute_pa_hours = 500_hours' – madalinivascu