カート内の各商品のカテゴリを取得したいのですが、次のコードがあります。
<?php
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) :
$_product = $cart_item['data'];
$array_cat[] = $_product->get_category_ids();
endforeach;
?>
このコードは単純な製品ではうまく動作しますが、可変の製品では空になります。
私はこれを試しました:
<?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;
?>
しかし、これらすべての場合において、それは空に見えます。
どうぞよろしくお願いします。
よろしく
わかりました、私はそれを解決しました。
可変商品では$_product->get_id()
はIDではありませんが、それ以外の商品はcartでこれらのバリエーションのIDのみです。
それから、これらのループで変数$cart_item['product_id']
でproductのidを見つけることができます
私たちはそれを使うことができます:
$the_product = wc_get_product( $cart_item['product_id'] );
$array_cat = $the_product->get_category_ids();
よろしく