Je veux obtenir les catégories de chaque produit dans le panier, alors j'ai ce code:
<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) :
$_product = $cart_item['data'];
$array_cat[] = $_product->get_category_ids();
endforeach;
?>
Ce code fonctionne bien avec un produit simple, mais avec un produit variable, il est vide.
J'ai essayé ceci:
<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) :
$_product = $cart_item['data'];
$array_cat1 = $_product->get_category_ids();
$array_cat2 = wc_get_product_terms( $_product->get_id(),'product_cat' );
$array_cat3 = wp_get_post_terms( $_product->get_id(),'product_cat' );
$array_cat4 = get_the_terms( $_product->get_id(), 'product_cat' );
$array_cat5 = get_the_term_list($_product->get_id(), 'product_cat');
endforeach;
?>
mais dans tous ces cas, il apparaît vide.
S'il vous plaît pourriez-vous aider avec ça?
Cordialement
Ok, je l'ai résolu.
Dans un produit variable, $_product->get_id()
n'est pas d'identifiant, le produit est l'identifiant uniquement de ces variations au panier.
Ensuite, dans ces boucles peut trouver l'id du produit dans la variable $cart_item['product_id']
Nous pouvons l'utiliser:
$the_product = wc_get_product( $cart_item['product_id'] );
$array_cat = $the_product->get_category_ids();
Cordialement