2017-05-17 2 views
0

J'ai une catégorie de produits appelée "la collection" avec de nombreux produits à l'intérieur. Tous ces produits sont des produits variables avec des variations à l'intérieur. J'ai une variation avec Size: "Simple Pot" et Finish: "Chalky Interior Matt" à l'intérieur. Je veux ajouter un bouton personnalisé, qui ajoutera automatiquement cette varialtion dans le panier. Pour cela, j'ai ajouté cette fonction dans le fichier functions.php:Comment ajouter une variation WooCommerce automatiquement lorsque vous appuyez sur le bouton?

add_action('woocommerce_after_add_to_cart_button','cmk_additional_button'); 
function cmk_additional_button() 
{ 
    echo '<a href="#" button type="submit" class="button alt">Sample 
Pot</button></a>'; 

} 

Cela ajoute un bouton. J'ai également suivi ce manual comment créer un lien varaible, mais l'ID de variation n'est pas exact pour tous les produits. Je veux aussi montrer ce bouton uniquement pour la catégorie de produit "The Collection". Comment faire ça?

+0

woocommerce_after_add_to_cart_button ne vous donnera pas l'ID du produit ... mais dans la page produit si vous prenez Gobal var $ post dans votre fonction de rappel, il vous donnera le produit, avec cette ID de produit, vous pouvez obtenir ses variations et remplir les liens selon vos besoins. – Alice

+0

Vous devriez pouvoir 'global $ product' pour obtenir l'objet produit variable sur ce hook. – helgatheviking

Répondre

1
add_action('woocommerce_after_add_to_cart_button','cmk_additional_button'); 
function cmk_additional_button() 
{ 
    echo '<a href="cart/?add-to-cart=10233&variation_id=10234&attribute_pa_color=red" button type="submit" class="button alt">Sample 
Pot</a>'; 

} 

essayer l'extrait comme celui-ci

+0

variation_id = 10234 n'est pas la même pour tous les produits. donc cela ne peut pas utiliser tous les produits qui ont ces variations dans la catégorie. – Dora