WooCommerce: получить и установить почтовый индекс почтового и платежного адреса
Как установить/получить почтовый индекс (почтовый индекс) в woocommerce? Есть ли функция для этого?
т.е. можно ли установить почтовый индекс через любую функцию?
Я также хотел бы знать, как заполнить это поле моими данными (скажем, 546621), если пользователь не вошел в систему?
Ответы
Ответ 1
Вы можете сделать следующее, чтобы получить/установить почтовые индексы выставления счетов/доставки,
В установите значения,
$customer = new WC_Customer();
$customer->set_postcode('123456'); //for setting billing postcode
$customer->set_shipping_postcode('123456'); //for setting shipping postcode
Если вы хотите просто извлечь почтовые индексы, вы можете извлечь их из самой таблицы пользователя,
$shipping_postcode = get_user_meta( $current_user->ID, 'shipping_postcode', true );
$billing_postcode = get_user_meta( $current_user->ID, 'billing_postcode', true );
Ответ 2
Вы можете использовать класс WC_Customer, который предоставляет эту функцию. Он загружен внутри класса Woocommerce. Эта информация хранится внутри текущего сеанса.
function set_shipping_zip() {
global $woocommerce;
//set it
$woocommerce->customer->set_shipping_postcode( 12345 );
$woocommerce->customer->set_postcode( 12345 );
//get it
$woocommerce->customer->get_shipping_postcode();
$woocommerce->customer->get_postcode();
}
Полная документация для этого класса: http://docs.woothemes.com/wc-apidocs/class-WC_Customer.html
Надеюсь, что это поможет.
Ответ 3
Спасибо @rao! Я искал это в течение нескольких часов... Я смог взять ваш код и использовать его, чтобы вытащить весь адрес пользователя - поэтому я могу использовать каждое поле адреса, чтобы предварительно заполнить форму адреса, которую я создаю в другом месте.
$fname = get_user_meta( $current_user->ID, 'first_name', true );
$lname = get_user_meta( $current_user->ID, 'last_name', true );
$address_1 = get_user_meta( $current_user->ID, 'billing_address_1', true );
$address_2 = get_user_meta( $current_user->ID, 'billing_address_2', true );
$city = get_user_meta( $current_user->ID, 'billing_city', true );
$postcode = get_user_meta( $current_user->ID, 'billing_postcode', true );
echo $fname . "<BR>";
echo $lname . "<BR>";
echo $address_1 . "<BR>";
echo $address_2 . "<BR>";
echo $city . "<BR>";
echo $postcode . "<BR>";