webentwicklung-frage-antwort-db.com.de

WC 3.x Holen Sie sich Kategorien aus dem variablen Produkt des Warenkorbs

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

1
Alexander

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

1
Alexander