Я разрабатываю новый метод доставки, который вычисляет скорость, основанную на весе упаковки, томе и почтовом индексе клиентов ... У меня не было проблем с получением информации о корзине на функция calculate_shipping, но когда я пытаюсь получить почтовый индекс от клиента, он, кажется, возвращает пустое значение. Как я могу получить эту информацию во время выполнения, чтобы рассчитать окончательную стоимость?Woocommerce: получите почтовый индекс для доставки, чтобы рассчитать стоимость доставки
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);
Можете ли вы показать нам некоторые из кода ? Вы говорите, что он возвращает «пустое значение», мы не можем не исправлять это, не видя код. – Drown
да, конечно:
общественная функция calculate_shipping ($ пакет) {
\t \t \t GLOBAL $ WooCommerce;
\t \t \t \t $ items = $ woocommerce-> cart-> get_cart();
\t \t \t \t \t $ cliente = $ woocommerce-> customer;
\t \t \t \t \t \t \t \t \t $ Песо = $ woocommerce-> cart-> cart_contents_weight;
\t \t \t \t $ customer_postcode = $ woocommerce-> customer-> get_shipping_postcode();
\t \t \t \t}
за $ customer_postcode = $ woocommerce-> на клиента> get_shipping_postcode(); пуст, единственный способ, которым я могу заставить это работать, - это, если я перейду на страницу проверки и вернусь в корзину – olken