【问题标题】:Woocommerce max 2 items in cart [duplicate]Woocommerce 购物车中最多 2 件商品[重复]
【发布时间】:2018-11-29 14:50:12
【问题描述】:

我有一个代码,可让我在购物车中添加最多 1 件商品。

/**
 * @snippet       WooCommerce Only one product in cart
 * @how-to        Watch tutorial @ https://businessbloomer.com/?p=19055
 * @sourcecode    https://businessbloomer.com/?p=560
 * @author        Rodolfo Melogli
 * @testedwith    WooCommerce 3.3.4
 */

add_filter( 'woocommerce_add_to_cart_validation', 'bbloomer_only_one_in_cart', 99, 2 );

function bbloomer_only_one_in_cart( $passed, $added_product_id ) {

global $woocommerce;

// empty cart: new item will replace previous
$woocommerce->cart->empty_cart();

// display a message if you like
wc_add_notice( 'Product added to cart!', 'notice' );

return $passed;
}

我想将此数量增加到 2 个项目,我希望它与此代码完全相同,只是用 2 个项目而不是 1。我该怎么做?

【问题讨论】:

  • 您可以使用 WC()->cart->get_cart_contents_count() 来获取购物车中的商品数量,如果数量为 2,则运行此代码...但这会清空购物车第一次,然后它会添加产品..
  • 尝试WC()->cart->get_cart_contents_count();并根据此检查条件

标签: wordpress woocommerce


【解决方案1】:

试试下面的代码:

add_filter( 'woocommerce_add_to_cart_validation', 'bbloomer_only_one_in_cart', 99, 2 );

function bbloomer_only_one_in_cart( $passed, $added_product_id ) {

global $woocommerce;

// empty cart: new item will replace previous
$_cartQty = count( $woocommerce->cart->get_cart() );
if($_cartQty >= 2){
    $woocommerce->cart->empty_cart();   
}

// display a message if you like
wc_add_notice( 'Product added to cart!', 'notice' );

return $passed;
}

【讨论】:

  • 如果达到最大值,是否可以更新购物车?如果您有 2 个并且添加了另一个 2,则使用最新的 2 进行更新
  • 尝试更新代码
  • 非常感谢,它正在工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 2019-04-23
  • 1970-01-01
  • 2018-04-10
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多