簡體   English   中英

將WooCommerce訂單ID傳遞給鈎子

[英]Passing WooCommerce Order ID into a hook

我的WooCommerce自定義項中經常出現一個問題:如何在函數中獲取當前的訂單ID。

某些掛鈎可以將其與$ order_id一起傳遞,但是在特定訂單的用戶帳戶頁面的上下文中,例如,以下操作無效。

問題是$order_id當然是空的。 但是,如何將訂單ID傳遞給此函數?

add_action( 'woocommerce_order_items_table', 'xcsn_woocommerce_order_items_table');
function xcsn_woocommerce_order_items_table ( $order_id ) {

    $order = new WC_Order( $order_id );

    echo 'The order ID is: ' . $order->get_order_number();

    // or

    echo '<br>The order ID is: ' . $order->id;

}

我試過了,但是它返回用戶ID號,而不是順序:

global $woocommerce;
$order = new WC_Order($post->ID);
echo 'The Order ID: ' . $order->get_order_number();

有什么建議么?

這解決了上面的特定問題(盡管不是一般性問題):

add_action( 'woocommerce_order_items_table', 'xcsn_woocommerce_order_items_table');
function xcsn_woocommerce_order_items_table ( $order ) {

    echo $order->id; //This is the order id, even in the user Accounts>Order page

}
add_action( 'woocommerce_order_items_table', 'xcsn_woocommerce_order_items_table',10,2);
function xcsn_woocommerce_order_items_table ( $order_id ) {
    $order = new WC_Order( $order_id );
    echo 'The order ID is: ' . $order->get_order_number();
    // or
    echo '<br>
    The order ID is: ' . $order_id;

}

選中此復選框,您需要在操作上添加10,2,它會在成功提交訂單后返回訂單ID,否則,該函數將在提交訂單之前運行,因此訂單ID可能為0null

暫無
暫無

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

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