【发布时间】:2016-12-07 19:12:21
【问题描述】:
我正在尝试仅从 WooCommerce 中的特定产品类别获取购物车中的商品数量。
我正在为一家酿酒厂做一个网站。它有酒精和非酒精产品。所有葡萄酒都属于“葡萄酒”或类别 id 34 的主要类别,其下还有许多子类别和产品。
对于属于此类别的任何物品...我需要知道此类别下的购物车中有多少物品。如果有六瓶酒,无论它们是相同的产品 ID 还是 6 个不同的产品 ID。我需要从 'wine' 类别或类别 id 34 中获得 6。
我试过这个没有成功。
我对 WooCommerce 很陌生,对面向对象还有些陌生。
谢谢
function cat_cart_count( $cat_name ) {
// $cat_name variable is for you normally "tshirts" or "shorts"
global $woocommerce; $cat_count = 0;
// For each product in the cart
foreach(WC()->cart->get_cart() as $cart_item_key => $values) {
$_product_id = $values['product_id']; // product ID
$_product_qty = $values['quantity']; // product quantity
// Getting categories of the product (could be more than one)
$terms = get_the_terms( $_product_id, 'product_cat' );
// Checking this product has a category
if ( $terms && ! is_wp_error( $terms ) ) {
$term_name = array();
// For each category of that product
foreach($terms as $term) {
// Adding the category name to an array
$term_name[] = $term->name;
// if the product has $cat_name category
if ( in_array( $cat_name, $term_name ) ) {
// add 1 x product quantity to the count
$cat_count =+ 1 * $_product_qty;
}
}
}
}
【问题讨论】:
标签: php wordpress woocommerce cart custom-taxonomy