web-dev-qa-db-ja.com

WooCommerce:配送および請求先住所の郵便番号を取得および設定します

Woocommerceで郵便番号(郵便番号)を設定/取得するにはどうすればよいですか?これに機能はありますか?

つまり、任意の関数で郵便番号を設定できますか?

また、ユーザーがログインしていない場合に、このフィールドにデータ(546621など)を入力する方法を教えてください。

11
Rao

請求/配送の郵便番号を取得/設定するには、次の操作を実行できます。

set値に、

$customer = new WC_Customer();
$customer->set_postcode('123456');     //for setting billing postcode
$customer->set_shipping_postcode('123456');    //for setting shipping postcode

fetch郵便番号だけを取得したい場合は、ユーザーメタテーブル自体から取得できます。

$shipping_postcode = get_user_meta( $current_user->ID, 'shipping_postcode', true );
$billing_postcode = get_user_meta( $current_user->ID, 'billing_postcode', true );
13
Rao

@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>";
6
user3464091

この機能を提供する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

お役に立てれば。

4
Kilian Schuster