根据Woocommerce中的国家/地区添加累进附加费

时间:2018-12-03 11:20:29

标签: php wordpress woocommerce cart fee

我可以使用if语句吗,如果可以,如何使用?基本上,我希望它向SE国家/地区添加27作为附加费,向所有其他国家/地区3作为附加费。

这是原始代码

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

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

$county = array('US');
// change the $fee to set the surcharge to a value to suit
$fee = 27.00;

if ( in_array( WC()->customer->get_shipping_country(), $county ) ) : 
    $woocommerce->cart->add_fee( 'Surcharge', $fee, true, 'standard' );  
endif;
}

我可以添加:

if ( !county = 'SE')
$fee = 3
if ( county = 'SE')
$fee 27

1 个答案:

答案 0 :(得分:1)

是的,您可以添加许多条件来获得不同的费用金额,但是由于您所在的国家/地区排成一列,因此您将使用in_array() php函数而不是fiware/cygnus-ngsi:1.9.0

使用== / IF语句时有一种简便的方法:

  • 正常方法:

    ELSE
  • (表示相同)的简写方式

    if ( 'SE' == $shipping_country )
        $fee = 27; // For Sweden
    else
        $fee = 3; // For others
    

您的代码有些过时了,因此这里是一个重新访问的版本,其中包括您的条件:

// The fee cost will be 27 for Sweden and 3 for other allowed countries
$fee = 'SE' == $shipping_country ? 27 : 3; 

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。