簡體   English   中英

獲取Woocommerce客戶訂單

[英]Get Woocommerce customer orders

是否可以獲得當前和以前的客戶訂單? 即我需要每個客戶當前訂單的帳單地址和先前訂單的帳單地址。

例如,我需要獲取每個客戶訂單的數組,即我需要每個客戶訂單的賬單地址。

所以我有一些代碼可以在管理面板的“編輯訂單頁面”上打印任何文本。

add_action( 'woocommerce_admin_order_data_after_shipping_address', 'edit_woocommerce_order_page', 10, 1 );

function edit_woocommerce_order_page($order){
global $post_id;
$order = new WC_Order( $post_id );
echo '<p><strong>Some text here</strong> ' . get_post_meta($order->get_id(), '_shipping_field_value', true ) . '</p>'; 
}

如您所見,它為每個用戶顯示一些文本。 我想我應該得到每個客戶的一些數組並顯示帶有訂單 ID 和帳單地址 1 的訂單數組。請檢查屏幕截圖上面的代碼在編輯訂單頁面中添加文本

可能嗎?

如果客戶不是客人,以下 function 將抓取所有已完成的訂單。

add_action( 'woocommerce_admin_order_data_after_shipping_address', 'edit_woocommerce_order_page', 10, 1 );

function edit_woocommerce_order_page($order){
$customer_id =  $order->get_user_id();
//Check if its guest or not
if($customer_id != 0):
    $args = array(
        'customer_id' => $customer_id,
        'status' => array('wc-completed'), //Change if needed
        'exclude' => array( $order->get_id() ), // We dont need current order
    );
    $orders = wc_get_orders( $args );
    if($orders):
        foreach($orders as $k=>$order):
            echo '<p><strong>Some text here</strong>'.$order->get_billing_address_1().'</p>';
        endforeach;
    endif;
endif;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM