除了 WooCommerce 中的几种特定产品外,最低购物车金额
Minumun cart amount except for several specific products in WooCommerce
我在 php 中使用以下代码“”,它允许覆盖 Woocommerce 最低购物车价值 130 美元。
工作正常,但仅适用于一种定义的产品。在这种情况下 product_id 2649
我正在尝试通过添加行 except_product_id...
来进一步修改此代码
但这于事无补。
如何通过 product id
修改以制作例外列表?
感谢任何帮助
add_action( 'woocommerce_check_cart_items', 'min_cart_amount' );
function min_cart_amount() {
## ----- EXCLUDES A PRODUCT FROM MINIMUM ORDER DOLLAR VALUE Your Settings below ----- ##
$min_cart_amount = 130; // Minimum cart amount
$except_product_id = 2649; // Except for this product ID
$except_product_id = 2659; // Except for this product ID
$except_product_id = 1747; // Except for this product ID
// Loop though cart items searching for the defined product
foreach( WC()->cart->get_cart() as $cart_item ){
if( $cart_item['data']->get_id() == $except_product_id || $cart_item['product_id'] == $except_product_id )
return; // Exit if the defined product is in cart
}
if( WC()->cart->subtotal < $min_cart_amount ) {
wc_add_notice( sprintf(
__( "<strong>A Minimum of %s is required before checking out.</strong><br>The current cart's total is %s" ),
wc_price( $min_cart_amount ),
wc_price( WC()->cart->subtotal )
), 'error' );
}
}
您通过在每一行上使用相同的命名约定来覆盖您的变量。所以如果你想将它应用于多个 ID,你必须将它们放在一个数组中。
function min_cart_amount() {
## ----- EXCLUDES A PRODUCT FROM MINIMUM ORDER DOLLAR VALUE Your Settings below ----- ##
$min_cart_amount = 130; // Minimum cart amount
$except_product_id = array ( 2649, 2659, 1747 ); // Except for this product ID
// Loop though cart items searching for the defined product
foreach( WC()->cart->get_cart() as $cart_item ) {
// Product id
$product_id = $cart_item['product_id'];
// Exit if the defined product is in cart
if ( in_array( $product_id, $except_product_id) ) {
return;
}
}
if( WC()->cart->subtotal < $min_cart_amount ) {
wc_add_notice( sprintf(
__( "<strong>A Minimum of %s is required before checking out.</strong><br>The current cart's total is %s" ),
wc_price( $min_cart_amount ),
wc_price( WC()->cart->subtotal )
), 'error' );
}
}
add_action( 'woocommerce_check_cart_items', 'min_cart_amount', 10, 0 );
我在 php 中使用以下代码“
工作正常,但仅适用于一种定义的产品。在这种情况下 product_id 2649
我正在尝试通过添加行 except_product_id...
来进一步修改此代码
但这于事无补。
如何通过 product id
修改以制作例外列表?
感谢任何帮助
add_action( 'woocommerce_check_cart_items', 'min_cart_amount' );
function min_cart_amount() {
## ----- EXCLUDES A PRODUCT FROM MINIMUM ORDER DOLLAR VALUE Your Settings below ----- ##
$min_cart_amount = 130; // Minimum cart amount
$except_product_id = 2649; // Except for this product ID
$except_product_id = 2659; // Except for this product ID
$except_product_id = 1747; // Except for this product ID
// Loop though cart items searching for the defined product
foreach( WC()->cart->get_cart() as $cart_item ){
if( $cart_item['data']->get_id() == $except_product_id || $cart_item['product_id'] == $except_product_id )
return; // Exit if the defined product is in cart
}
if( WC()->cart->subtotal < $min_cart_amount ) {
wc_add_notice( sprintf(
__( "<strong>A Minimum of %s is required before checking out.</strong><br>The current cart's total is %s" ),
wc_price( $min_cart_amount ),
wc_price( WC()->cart->subtotal )
), 'error' );
}
}
您通过在每一行上使用相同的命名约定来覆盖您的变量。所以如果你想将它应用于多个 ID,你必须将它们放在一个数组中。
function min_cart_amount() {
## ----- EXCLUDES A PRODUCT FROM MINIMUM ORDER DOLLAR VALUE Your Settings below ----- ##
$min_cart_amount = 130; // Minimum cart amount
$except_product_id = array ( 2649, 2659, 1747 ); // Except for this product ID
// Loop though cart items searching for the defined product
foreach( WC()->cart->get_cart() as $cart_item ) {
// Product id
$product_id = $cart_item['product_id'];
// Exit if the defined product is in cart
if ( in_array( $product_id, $except_product_id) ) {
return;
}
}
if( WC()->cart->subtotal < $min_cart_amount ) {
wc_add_notice( sprintf(
__( "<strong>A Minimum of %s is required before checking out.</strong><br>The current cart's total is %s" ),
wc_price( $min_cart_amount ),
wc_price( WC()->cart->subtotal )
), 'error' );
}
}
add_action( 'woocommerce_check_cart_items', 'min_cart_amount', 10, 0 );