[英]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可能為0
或null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.