从总数购物车中删除产品类别woocommerce
我建立我的电子商务出售葡萄酒与wordpress 4.2.2和woocommerce 2.3.11。 我创建了一个自定义函数,只用6的倍数瓶子来结束订单。 直到这我没有任何问题,但我有2个包装6瓶的类别,所以我想避免这2个类别将数量总数项目购物车。 我不擅长于PHP,所以我尝试创建一个函数,检查每个项目是否在类别内,如果属于一个包类别,则减去一个项目。 这项工作只有在这两个类别中有一个项目时才有效,但如果我在购物车上添加2个包裹,则只会减去一个。从总数购物车中删除产品类别woocommerce
add_action('woocommerce_check_cart_items', 'woocommerce_check_cart_quantities');
function woocommerce_check_cart_quantities() {
$total_products = WC()->cart->cart_contents_count;
$multiples = 6;
foreach (WC()->cart->get_cart() as $cart_item_key => $values) {
$prodotti = $values['data'];
$terms = get_the_terms ($prodotti->id, 'product_cat');
foreach ($terms as $term){
$categoria = $term->term_id;
}
if (($categoria == 169) || ($categoria == 152)) {
$pacchetti = $values ['quantity'];
$totale = ($total_products-$pacchetti);
} else {
$totale = $total_products;
}
}
echo $totale;
if (($totale % $multiples) > 0)
wc_add_notice(sprintf(__('You need to buy in quantities of 6 products', 'woocommerce'), $multiples), 'error');
}
所需计时:
现有计数
我开为使这个工作的每一个解决方案。
非常感谢!
你的代码对我来说看起来不错。我认为你缺少的一件事是has_term()
功能,以更可靠地测试哪些产品属于你的两个特殊类别。
add_action('woocommerce_check_cart_items', 'woocommerce_check_cart_quantities');
function woocommerce_check_cart_quantities() {
$total_products = WC()->cart->cart_contents_count;
$multiples = 6;
$totale = 0;
foreach (WC()->cart->get_cart() as $cart_item_key => $values) {
$prodotti = $values['data'];
if(! has_term(array(169, 152), 'product_cat', $prodotti->id)){
$totale += $values['quantity'];
}
}
echo $totale;
if (($totale % $multiples) > 0){
wc_add_notice(sprintf(__('You need to buy in multiples of %d products', 'your-textdomain'), $multiples), 'error');
}
}
令人惊叹!这很好用! 因为你今晚拯救了我的生命,我会给你买玛格丽塔:) 如果我可以问......为什么我的代码不起作用? (我想尽可能地学习) – Wolftrick
太棒了!不要忘记将此标记为已接受的答案。并感谢你的玛格丽塔酒。如果我不得不猜测为什么你的代码不起作用,我认为它可能是'foreach()'循环。如果您的产品处于多个类别中,那么'$ categoria = $ term-> term_id;'可以随意作为'$ terms'中的最后一个类别。这会让你的'if()'语句不可靠。 – helgatheviking
ahhh好了,明白了!再次感谢你 – Wolftrick
我将不得不考虑更多,但如何使用[Product Bundles](https://www.woothemes.com/products/product-bundles/)来处理需要销售的物品6包? – helgatheviking
再次嗨:)。产品捆绑根本不起作用:(还有以前的帮助,我也雇佣了一名自由职业者,但没有成功,所以我放弃了使用它的想法,并且从今天开始寻找另一种解决方案,以上代码 – Wolftrick
为什么产品包不工作?根据你的描述,它看起来就像是你的用例。不幸的是,你不能总是雇用一个好的自由职业者,这也发生在我以前的事情上。对于WooCommerce特定的项目,你可能会请好好雇用[Woo专家](https://www.woothemes.com/experts/) – helgatheviking