加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何从WooCommerce中的订单获取客户详细信息?

发布时间:2020-12-13 13:43:22 所属栏目:PHP教程 来源:网络整理
导读:我有一个这样做的功能: $order = new WC_Order($order_id);$customer = new WC_Customer( $order_id ); 如何从中获得客户的详细信息? 我已经尝试过文件中的所有内容,但不知何故,只有一些细节存在,但其余的则不例外 $data['Address'] = $customer-get_addre
我有一个这样做的功能:
$order = new WC_Order($order_id);
$customer = new WC_Customer( $order_id );

如何从中获得客户的详细信息?
我已经尝试过文件中的所有内容,但不知何故,只有一些细节存在,但其余的则不例外

$data['Address'] = $customer->get_address() . ' ' . $customer->get_address_2();
$data['ZipCode'] = $customer->get_postcode();

是空的.

var_dump($customer)

生产:

object(WC_Customer)#654 (2) { [“_data”:protected]=> array(14) { [“country”]=> string(2) “IT” >[“state”]=> string(0) “” [“postcode”]=> string(0) “” [“city”]=> string(0) “” [“address”]=> >string(0) “” [“address_2”]=> string(0) “” [“shipping_country”]=> string(2) “IT”
[“shipping_state”]=> string(2) “BG” [“shipping_postcode”]=> string(0) “” [“shipping_city”]=> >string(0) “” [“shipping_address”]=> string(0) “” [“shipping_address_2”]=> string(0) “”
[“is_vat_exempt”]=> bool(false) [“calculated_shipping”]=> bool(false) } ?
[“_changed”:”WC_Customer”:private]=> bool(false) }

正如你所看到的,城市是现在,但其余的是空的.我已经在WP_usermeta和客户的管理面板中检查了所有的数据.

有什么想法吗?

尝试过$customer = new WC_Customer();和全球$woocommerce; $customer = $woocommerce->客户;即使以非管理员用户身份登录,我仍然会收到空的地址数据.

我的解决方案如下:

function mwe_get_formatted_shipping_name_and_address($user_id) {

    $address = '';
    $address .= get_user_meta( $user_id,'shipping_first_name',true );
    $address .= ' ';
    $address .= get_user_meta( $user_id,'shipping_last_name',true );
    $address .= "n";
    $address .= get_user_meta( $user_id,'shipping_company','shipping_address_1','shipping_address_2','shipping_city','shipping_state','shipping_postcode','shipping_country',true );

    return $address;
}

…和此代码工作,无论您是否以管理员身份登录.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读