Pour ajouter un produit dans le panier, il faut utiliser une URL de type :
www.domaine.com/?add-to-cart={ID_PRODUIT}.
Pour ajouter plusieurs produits dans le panier en 1 clic, nous allons utiliser :
- Une URL de type : www.domaine.com/?multiple-add-to-cart={ID_PRODUIT1}-{ID_PRODUIT2}-{ID_PRODUIT3} (les ID produits sont séparés par un tiret)
- le hook
wp_loaded
- et la fonction
WC()->cart->add_to_cart() exécutée dans une boucle.
[pastacode lang= »php » manual= »%3C%3Fphp%0Afunction%20MY_add_to_cart_action()%0A%7B%0A%09if%20(%20!%20empty(%20%24_REQUEST%5B’multiple-add-to-cart’%5D%20)%20)%20%7B%0A%09%09%24my_products%20%3D%20explode(%20′-‘%2C%20%24_REQUEST%5B’multiple-add-to-cart’%5D%20)%20%3B%20%0A%09%09foreach%20(%20%24my_products%20as%20%24my_product%20)%0A%09%09%7B%0A%09%09%09%24product%20%20%20%20%3D%20wc_get_product(%20%24my_product%20)%3B%0A%09%09%09if%20(%20%24product%20%26%26%20%24product-%3Eis_purchasable()%20)%0A%09%09%09%7B%0A%09%09%09%09WC()-%3Ecart-%3Eadd_to_cart(%20%24product-%3Eid%2C%201%20)%20%3B%0A%09%09%09%7D%0A%09%09%7D%0A%09%09wp_redirect(%20’panier’%20)%3B%0A%09%09exit%3B%0A%09%7D%0A%7D%0Aadd_action(%20’wp_loaded’%2C%20’MY_add_to_cart_action’%2C%2020%20)%3B » message= » » highlight= » » provider= »manual »/]
Ce snippet fonctionne avec des produits simples. Il nécessite une adaptation pour des produits variables en faisant également passer les variations dans l’URL.
bonjour
merci pour cet exemple, mais svp ou je peut rajouter : function MY_add_to_cart_action()….
est-ce dans le fichier functions.php ou je dois créer un nouveau fichier.
merci