Woocommerce: получите почтовый индекс для расчета стоимости доставки

Я разрабатываю новый метод доставки, который рассчитывает тариф на основе веса упаковки, объема и почтового индекса клиента …
У меня не было проблем с извлечением информации о корзине с помощью функции Calculate_Shipping, но когда я пытаюсь получить почтовый индекс от покупателя, он возвращает пустое значение.
Как я могу получить эту информацию во время выполнения, чтобы рассчитать окончательную стоимость?

public function calculate_shipping( $package ) {
GLOBAL $woocommerce;
$items = $woocommerce->cart->get_cart();
$cliente = $woocommerce->customer;
$peso = $woocommerce->cart->cart_contents_weight;
$customer_postcode = $woocommerce->customer->get_shipping_postcode();
}

Решено:

$customer_postcode = get_user_meta( get_current_user_id(), 'shipping_postcode', true );

3

Решение

// add this in your calculate_shipping function
public function calculate_shipping( $package ) {
$postal_code = $package[ 'destination' ][ 'postcode' ] );
}
4

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

global $woocommerce;
$customer = new WC_Customer();
$woocommerce->customer->get_shipping_postcode();
2

Я думаю, что это обрабатывается в классе клиентов

почтовый индекс для выставления счетов


WC()->customer->get_postcode();

или же

почтовый индекс доставки


WC()->customer->get_shipping_postcode();

1

global $woocommerce;
$customer = new WC_customer();
$customer_id = $customer->ID

$get_customer_shipping_pincode = get_user_meta($customer_id,"shipping_postcode",true);
$get_customer_billing_pincode = get_user_meta($customer_id,"billing_postcode",true);

если пользователь вошел в систему (для зарегистрированного пользователя),

$get_customer_shipping_pincode = get_user_meta(get_current_user_id(),"shipping_postcode",true);
$get_customer_billing_pincode = get_user_meta(get_current_user_id(),"billing_postcode",true);
0
По вопросам рекламы [email protected]