【发布时间】:2020-03-13 22:13:23
【问题描述】:
我需要清理 Woocommerce 购物车,以防我通过 url 向它发送超过四件商品。
我想出了这段代码,但它只会在购物车中已经有五件商品的情况下清理购物车。
//in functions.php
add_filter( 'woocommerce_add_to_cart_validation', 'remove_cart_item_before_add_to_cart', 20, 3 );
function remove_cart_item_before_add_to_cart( $passed, $product_id, $quantity ) {
if( WC()->cart->get_cart_contents_count() >= 5 )
WC()->cart->empty_cart();
return $passed;
}
另一个问题是,即使上面对我没有用的代码,如果我通过 url 添加多个课程也不起作用,如下所示:
https://exemple.net/cart?fill_cart=100,101,102,103,104,105,106
也就是说,functions.php 中的代码仅适用于网站,而不适用于 url。
通过 url 发送超过 4 件商品时,我只需要清空购物车。
我更喜欢 PHP 解决方案,但 JS 解决方案也可以。感谢谁能帮助我。
【问题讨论】:
-
你试过把 5 改成 4 吗?
-
@HowardE 问题不在于条件语句是否正确。但是感谢您的帮助。
-
这是做什么的? exemple.net/cart?fill_cart=100,101,102,103,104,105,106 你能发布获取该 URL 参数的函数吗?或者这就是你想在这里得到的......一个函数来做到这一点?
-
@HowardE “fill_cart”参数随 WooCommerce 的购物车链接插件一起提供。通过 url 发送超过 4 个项目时,我需要清除购物车,无论是否使用 fill_cart,但通过 url。
标签: php wordpress woocommerce hook-woocommerce