php - for - woocommerce shipping price by place
Woocommerce: obtenga el código postal de envío para calcular el costo de envío (4)
Creo que esto se maneja en la clase de los clientes
código postal de facturación
WC()->customer->get_postcode();
o
código postal de envío
WC()->customer->get_shipping_postcode();
Estoy desarrollando un nuevo método de envío que calcula la tarifa según el peso del paquete, el volumen y el código postal de los clientes ... No he tenido problemas para recuperar la información del carrito en la función calcular_envío, pero cuando intento recuperar el código postal del cliente parece devolver un valor vacío. ¿Cómo puedo recuperar esta información en tiempo de ejecución para calcular el costo final?
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();
}
Resuelto
$customer_postcode = get_user_meta( get_current_user_id(), ''shipping_postcode'', true );
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);
si el usuario está conectado (para el usuario de registro),
$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);
global $woocommerce;
$customer = new WC_Customer();
$woocommerce->customer->get_shipping_postcode();
// add this in your calculate_shipping function
public function calculate_shipping( $package ) {
$postal_code = $package[ ''destination'' ][ ''postcode'' ] );
}