在WooCommerce我的帐户编辑地址中显示客户订单的账单电子邮件



我想显示meta"电子邮件";一个客户的每个订单,但这是抛出一个错误。

add_action( 'woocommerce_before_edit_account_address_form', 'save_billing_email_to_user', 12, 1 );
function save_billing_email_to_user( $user_id ) {
$query = new WC_Order_Query( 
array( 
'customer_id' => $user_id 
)
);
$orders = $query->get_orders();
foreach($orders as $ro => $inn){
echo $ro['email'];
}
}

我在这里做错了什么?

使用以下重新访问的代码,该代码将查询一个订单以获取账单电子邮件:

add_action( 'woocommerce_before_edit_account_address_form', 'save_billing_email_to_user', 12 );
function save_billing_email_to_user( $user_id ) {
$orders = wc_get_orders(  array( 'customer_id' => $user_id , 'limit' => '1' ) );
if ( ! empty( $orders ) ) {
$order = reset( $orders );
$order_id      = $order->get_id();
$billing_email = $order->get_billing_email();
echo $billing_email;
}
}

代码位于活动子主题(或活动主题(的functions.php文件中。测试并工作。


或者您可以显示客户每个订单的账单电子邮件地址,如:

add_action( 'woocommerce_before_edit_account_address_form', 'save_billing_email_to_user', 12 );
function save_billing_email_to_user( $user_id ) {
$orders = wc_get_orders(  array( 'customer_id' => $user_id ) );
foreach( $orders as $order ){
$order_id = $order->get_id();
echo $order->get_billing_email() . '<br>';
}
}

最新更新