在WooCommerce中,我试图找到一种方法,只有当达到特定的购物车总量时,才允许将产品添加到购物车。
示例:我们想以1美元的价格出售保险杠贴纸,但前提是用户已经在购物车中拥有价值25美元的其他产品。这类似于亚马逊的“附加”功能。但是我找不到类似的WooCommerce插件或函数。
我已经尝试了一些代码但没有成功…任何帮助将不胜感激。
可以通过挂接在woocommerce\u add\u to\u cart\u validation
filter hook中的自定义函数来完成,您将在其中定义:
在达到特定购物车金额之前,将避免将这些已定义的产品添加到购物车(显示自定义通知)。
守则:
add_filter( 'woocommerce_add_to_cart_validation', 'wc_add_on_feature', 20, 3 );
function wc_add_on_feature( $passed, $product_id, $quantity ) {
// HERE define one or many products IDs in this array
$products_ids = array( 37, 27 );
// HERE define the minimal cart amount that need to be reached
$amount_threshold = 25;
// Total amount of items in the cart after discounts
$cart_amount = WC()->cart->get_cart_contents_total();
// The condition
if( $cart_amount < $amount_threshold && in_array( $product_id, $products_ids ) ){
$passed = false;
$text_notice = __( "Cart amount need to be up to $25 in order to add this product", "woocommerce" );
wc_add_notice( $text_notice, 'error' );
}
return $passed;
}
代码进入函数。活动子主题(活动主题)的php文件。
测试和工作。