Ich möchte die Kategorien der einzelnen Produkte in den Warenkorb legen, dann habe ich diesen Code:
<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) :
$_product = $cart_item['data'];
$array_cat[] = $_product->get_category_ids();
endforeach;
?>
Dieser Code funktioniert gut mit einfachen Produkten, aber bei variablen Produkten ist er leer.
Ich habe das versucht:
<?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;
?>
in all diesen Fällen ist die Anzeige jedoch leer.
Könntest du bitte dabei helfen?
Grüße
Ok, ich habe es gelöst.
In einem variablen Produkt ist $_product->get_id()
nicht von ID, das Produkt ist sonst nur die ID dieser Variation im Warenkorb.
Dann kann in dieser Schleife die ID des Produkts in der Variablen $cart_item['product_id']
gefunden werden.
Wir können es benutzen:
$the_product = wc_get_product( $cart_item['product_id'] );
$array_cat = $the_product->get_category_ids();
Grüße