Woocommerce 如何在电子商务中强制收取最低费用,而不限制结帐?

Woocommerce 如何在电子商务中强制收取最低费用,而不限制结帐?,woocommerce,Woocommerce,我想知道如何强制Woocommerce的最低收费,Woocommerce是Wordpress的电子商务系统。如果最低限额是100美元,而购物车中的物品总共只有23美元,那么这个人可以结账,但他们将支付100美元。这不仅需要反映在结帐中,还需要反映在订单发票和任何其他相关字段中 我对PHP还行,但我不熟悉Woocommerce系统。逻辑上,我预测我们可以修改总计算器。。。如果$total大于等于100{定期进行}否则{$total=100}。或者,可以根据最低费用和当前购物车总额之间的差异,动态地

我想知道如何强制Woocommerce的最低收费,Woocommerce是Wordpress的电子商务系统。如果最低限额是100美元,而购物车中的物品总共只有23美元,那么这个人可以结账,但他们将支付100美元。这不仅需要反映在结帐中,还需要反映在订单发票和任何其他相关字段中

我对PHP还行,但我不熟悉Woocommerce系统。逻辑上,我预测我们可以修改总计算器。。。如果$total大于等于100{定期进行}否则{$total=100}。或者,可以根据最低费用和当前购物车总额之间的差异,动态地将项目添加到购物车中。我只是担心我可能会把事情搞砸,因为我没有充分考虑到整个网站可能需要如何修改,因为总数量在很多地方都会出现


注意:我并不是说如果人们没有达到最低订购量,就不让他们结账。有相关插件,或者我可以使用javascript禁用签出按钮。

我在回答我自己的问题:

要强制执行此最低收费,您必须接入几个部件。首先是能够在你的总数中增加额外的一行(比如附加费)。第二个是获得小计金额

在themes function.php中,添加此代码段(谢谢)

//添加自定义费用
功能woo_添加_购物车_费用(){
全球商业;
$subt=$woocommerce->cart->小计;
如果($subt<100){
美元附加费=100-$subt;
}否则{
$附加费=0;
}   
$woocommerce->cart->add_费用(uuuu(‘附加费’、‘woocommerce’)、$附加费);
}
添加操作(“woocommerce\u cart\u calculate\u fees”、“woo\u add\u cart\u fee”);
我的最低收费是100英镑。100必须作为小计支付,这意味着在交付费用之前$woocommerce->cart->subtotal是存储小计金额的地方

上面的代码片段还将在购物车和结账时添加一行。“附加费”的值可以是固定金额,也可以是可变金额。在本例中,我将其设置为可变($附加费)。因为代码段使用了subtotal变量,所以它是一个动态变化——每次更新购物车时,附加费都会重新计算

附加费将是最低费用减去小计。只有当小计低于最低收费时,才会发生这种情况,否则我们最终将收取负附加费

在后续设计方面,您还应该有一个购物车消息来通知人们附加费。您也可以考虑使用JavaScript来隐藏额外费用部分,如果他们的小计满足最低收费。 适用于woocommerce 2.2版。

//ADD CUSTOM FEE
function woo_add_cart_fee() {

    global $woocommerce;

    $subt = $woocommerce->cart->subtotal;

    if ($subt < 100 ) { 
        $surcharge = 100 - $subt;
    } else { 
        $surcharge = 0;
    }   

$woocommerce->cart->add_fee( __('Surcharge', 'woocommerce'), $surcharge );

}

add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );