2017-09-23 84 views
1

条件交割手续费这是我的条件,如:费在WooCommerce 3

如果大部< =一定& &大部< =一定

所以,如果小计此条件匹配,则我想要收取邮件发票上应显示的邮递费用。

目前,这是我的代码:

add_action('woocommerce_cart_calculate_fees','my_delivery_fee'); 
function my_delivery_fee() { 
    global $woocommerce; 

    if (is_admin() && ! defined('DOING_AJAX')) 
     return; 

    $subtotal = $woocommerce->cart->subtotal; 
    if(subtotal <= certain amount && subtotal <= certain amount){ 
     $woocommerce->cart->add_fee('Delivery Fees', 5, true, 'standard'); 
    } 

} 

但它没有显示任何东西。

我做错了什么?

回答

0

问题来自您的病情。它应该是代替:

如果大部< =量& & 大部> AMOUNT2

而且你的代码是有点老了,试试这样(的累进收费为例):

add_action('woocommerce_cart_calculate_fees','my_delivery_fee', 10, 1); 
function my_delivery_fee($wc_cart) { 

    if (is_admin() && ! defined('DOING_AJAX')) return; 

    $subtotal = $wc_cart->subtotal; 
    $fee = 0; 

    // Progressive fee 
    if(subtotal < 25){ // less than 25 
     $fee = 5; 
    } elseif(subtotal >= 25 && subtotal < 50){ // between 25 and 50 
     $fee = 10; 
    } else { // From 50 and up 
     $fee = 15; 
    } 

    if(fee > 0) 
     $wc_cart->add_fee('Delivery Fees', $fee, true, 'standard'); 
} 

代码放在您的活动子主题(或主题)的function.php文件或也以任何插件文件。

所有代码都在Woocommerce 3+上测试过并且可以正常工作。

+0

Loic我读过你,每次回答真的你在做伟大的代码,你能指导我增加我的编码知识吗? –