WooCommerce:获取并设置运费&帐单邮寄地址的邮政编码

时间:2013-10-03 09:34:36

标签: wordpress-plugin woocommerce

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

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

我还想知道,如果用户没有登录,如何使用我的数据(例如546621)填充此字段?

3 个答案:

答案 0 :(得分:11)

您可以执行以下操作来获取/设置结算/发送邮政编码,

设置值,

$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 );

答案 1 :(得分:5)

谢谢@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>";

答案 2 :(得分:4)

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

希望这有帮助。