在WooCommerce之前獲取結帳頁面順序ID,我需要得到order ID
權WooCoommerce,付款前的結賬頁面,創建訂單時。支付過程
我看所有的會議,並試圖找出在訂貨時則用在了order_awaiting_payment
會話付費,但我纔去付款需要它。
所以我想一個解決方案,使順序加載結帳頁面時(事實上使其準備金)和結帳時實際完成更新。
如何之前,爲了獲得在結帳頁面順序ID去在WooCommerce付款?
我認爲有一些掛鉤這一點,但我不能找到它。
在WooCommerce之前獲取結帳頁面順序ID,我需要得到order ID
權WooCoommerce,付款前的結賬頁面,創建訂單時。支付過程
我看所有的會議,並試圖找出在訂貨時則用在了order_awaiting_payment
會話付費,但我纔去付款需要它。
所以我想一個解決方案,使順序加載結帳頁面時(事實上使其準備金)和結帳時實際完成更新。
如何之前,爲了獲得在結帳頁面順序ID去在WooCommerce付款?
我認爲有一些掛鉤這一點,但我不能找到它。
您可以使用woocommerce_checkout_order_processed
行動鉤勾住了自定義的功能。
由於woocommerce 3.0+版本,這裏地處process_checkout()
功能對應的核心代碼。
// Since WooCommerce version 3.0+
do_action('woocommerce_checkout_order_processed', $order_id, $posted_data, $order);
及以下WooCommerce 3.0版本:
// Since WooCommerce version 2.1+ (before version 3.0+)
do_action('woocommerce_checkout_order_processed', $order_id, $this->posted);
所以有2案件取決於你所使用的woocommerce版本:
由於WooCommerce 3.0+可以使用2您的掛鉤功能中的其他參數,您將不需要創建訂單對象的實例,因爲您獲得
$order
已經作爲一個參數。
您可以還直接通過$posted_data
參數來訪問發佈的數據。
add_action('woocommerce_checkout_order_processed', 'action_checkout_order_processed', 10, 3);
function action_checkout_order_processed($order_id, $posted_data, $order) {
// Do something
}
由於WooCommerce 2.1+(WooCommerce 3之前。0),你只有
$order_id
作爲參數,所以你可能會需要得到$order
物體wc_get_order()
功能實例:
add_action('woocommerce_checkout_order_processed', 'action_checkout_order_processed', 10, 1);
function action_checkout_order_processed($order_id) {
// get an instance of the order object
$order = wc_get_order($order_id);
// Do something
}
的代碼放在function.php文件您的活動孩子主題(或主題)或任何插件文件中。
如果你只是看看class-wc-checkout.php
文件的行號935,你會看到有一個動作woocommerce_checkout_order_processed
其通過$order_id
作爲參數。
所以這應該爲你工作:
add_action('woocommerce_checkout_order_processed', 'wh_pre_paymentcall');
function wh_pre_paymentcall($order_id) {
//create an order instance
$order = wc_get_order($order_id);
//$payment_method = $order->payment_method_title;
//$status = $order->get_status();
// write your custom logic over here.
}
代碼放在functions.php
文件的活躍兒童主題(或主題)的。或者也可以在任何插件php文件中使用。
相關問題:WooCommerce Get Order Product Details Before Payment in Plugin(也可以參考意見)
希望這有助於!
感謝您的回覆,但實際上我需要將order_id傳遞給結帳頁面中的iframe,所以我需要在結帳頁面加載時訪問它。我認爲這個鉤子在付款之前就會採取行動,並且當我想要這個鉤子時不能訪問order_id –