Передача идентификатора заказа WooCommerce в крючок

У меня есть повторяющаяся проблема в настройках WooCommerce: как получить текущий идентификатор заказа внутри функции.

Некоторые перехватчики могут передавать его с помощью $ order_id, но, например, в контексте страницы учетной записи пользователя для определенного порядка, нижеследующее не работает.

Проблема в том, что $order_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; } 

Я попробовал это, но он возвращает номер идентификатора пользователя, а не порядок:

 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 на действие, чтобы он возвращал идентификатор заказа после успешной подачи заявки, без этого функция запускается перед отправкой заказа, поэтому идентификатор заказа может быть 0 или null