如何在woocommerce中設置/獲取郵政編碼(郵編)?有這個功能嗎?WooCommerce:獲取並設置送貨和帳單地址的郵政編碼
即,我可以通過任何功能設置郵政編碼嗎?
我還想知道,如果用戶沒有登錄,如何用我的數據填充此字段(比如546621)?
如何在woocommerce中設置/獲取郵政編碼(郵編)?有這個功能嗎?WooCommerce:獲取並設置送貨和帳單地址的郵政編碼
即,我可以通過任何功能設置郵政編碼嗎?
我還想知道,如果用戶沒有登錄,如何用我的數據填充此字段(比如546621)?
您可以執行以下操作來獲取/設置計費/航運郵政編碼,
要設置值,
$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);
您可以使用提供此功能的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
希望這有助於。
謝謝@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>";
我知道這是一箇舊帖子,但您也可以使用'billing_first_name'和'billing_last_name'來訪問賬單地址的名稱,以防萬一使用不同的名稱:)也應該適用於送貨地址 –
這也適用。謝謝! – Rao
我也想指出,這種方法只設置會話變量中的數據,而不是存儲在數據庫中。如果你想在db中設置它,你必須在'wp_usermeta'表中設置'billing_postcode'和'shipping_postcode'。 – Rao
@Rao,這正是我想要的:-)我想問我的主頁上的送貨地址(如果我不在這裏發貨,請提前告訴用戶),並且已經在Checkout頁面上設置了它。 –