Как добавить доплату в зависимости от доставки государства?

в http://docs.woothemes.com/document/add-a-surcharge-to-cart-and-checkout-uses-fees-api/

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

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

$county     = array('ME');
$percentage     = 0.01;

if ( in_array( $woocommerce->customer->get_shipping_state(), $state ) ) :
$surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;
$woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, 'standard' );
endif;

}

Как добавить более одного состояния? Так что, если человек находится в OH или FL — я бы хотел добавить ставку для каждого штата.

0

Решение

Напишите для него новый код … На этот раз я сделаю это для вас:

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

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

$state = $woocommerce->customer->get_shipping_state();

if ( $state == 'ME' ) {
$surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * 0.01;
$woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, 'standard' );
} elseif ( $state == 'OH' ) {
// Do something else
} elseif ( in_array( $state, array('FL', 'CA') ) ) {
// Even something else
}
}
1

Другие решения

add_action( 'woocommerce_cart_calculate_fees','xa_custom_surcharge' );
function xa_custom_surcharge() {
global $woocommerce;
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$state      = array('MH');
$surcharge  = 10;
if ( in_array( WC()->customer->shipping_state, $state ) ) {
$woocommerce->cart->add_fee( 'Additional Charge', $surcharge, true, '' );
}
}

Попробуйте этот простой фрагмент. Получил от Вот

0

По вопросам рекламы [email protected]