我試圖在購物車頁面上顯示每種產品的類別。我沒有太多的知識的PHP。我使用此代碼:獲取產品類別並將其顯示在購物車頁面woocommerce
$terms = get_the_terms($product_id, 'product_cat');
foreach ($terms as $term) {
$product_cat = $term->name;
}
echo $product_cat ;
爲了測試這個代碼,我把一個<div>
在woocommerce/cart/cart.php
剛下foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item)
循環和它的工作,但它表明我只有每個產品,而不是所有類別的最後一類。
我想顯示所有的類別,而不是在頁面的開頭,但在小計和總數之前的運輸信息之後。
我試圖把這個代碼放在cart-totals.php
的新的<tr><th>Some Title</th><td>[PHP Code here]</td></tr>
中,但沒有顯示任何結果。我認爲它是因爲代碼從foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item)
中消失。任何幫助,將不勝感激,謝謝
[編輯]
我不知道這是否是做的最好的方式,但這種代碼似乎在cart-total.php
<?php
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
$_product = apply_filters('woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key);
$product_id = apply_filters('woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key);
$terms = get_the_terms($product_id, 'product_cat');
$product_cat = array();
foreach ($terms as $term) {
$product_cat[] .= $term->name;
}
echo implode(', ', $product_cat);
?>
由於工作: )
在你的foreach循環中,每次循環運行時都覆蓋$ product_cat變量,這就是爲什麼你只能看到最後一個類。 – tobros91
謝謝,但我該如何補救? – colapsnux