14

如何在 woocommerce 中设置/获取邮政编码(邮政编码)?有这个功能吗?

即,我可以通过任何功能设置邮政编码吗?

我也想知道,如果用户没有登录,如何用我的数据(比如 546621)填充这个字段?

4

3 回答 3

18

您可以执行以下操作来获取/设置帐单/运输邮政编码,

设置值,

$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 );
于 2013-11-23T00:49:16.867 回答
11

谢谢@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>";
于 2015-07-25T08:59:17.070 回答
7

您可以使用提供此功能的 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

希望这可以帮助。

于 2013-11-23T00:29:46.130 回答