我開發了一個插件,用於將 WooCommerce 訂單連接到 HubSpot。我遇到的問題是,雖然它可以工作,但我現在使用的鉤子在技術完成之前將訂單資訊發送到 HubSpot。因此,這意味著諸如“失敗訂單”之類的內容將作為“待處理”發送,並且省略優惠券代碼。
所以我想知道使用正確的鉤子是什麼。
我的目標:每次建立並完成 WooCommerce 訂單以及更新 WooCommerce 訂單時,將資料傳送到 HubSpot。
到目前為止我所擁有的:
add_action('save_post_shop_order', 'printout', 10, 3); function printout($post_ID, $post, $update) { if (!is_admin()){ return; } if($update){ $msg = $post_ID; $order = get_woocommerce_order($msg); mainplugin($msg, $order); } } add_action('woocommerce_new_order', 'neworder_delegator', 10, 2); function neworder_delegator($order_id, $order){ mainplugin($order_id, $order); }
所以我想我只是在尋找正確的鉤子來得到我想要的東西。
謝謝!
P粉2168079242024-04-01 17:11:24
這是你的答案:
每個 WooCommerce 訂單轉換都有一個或多個動態掛鉤,這些掛鉤在狀態轉換發生時觸發。
它們以「woocommerce_order_status_」開頭,操作的其餘部分是訂單已轉換到的新狀態,或格式為「
範例
您可以將您的函數掛鉤
add_action( 'woocommerce_order_status_completed', 'your_order_completed_function');
僅在訂單轉換為已完成時觸發您的函數,而在退款、取消、暫停等時不觸發您的函數,因為這些操作將在其他操作上運行,例如
woocommerce_order_status_refunded woocommerce_order_status_cancelled woocommerce_order_status_on-hold woocommerce_order_status_failed woocommerce_order_status_processing
編輯以新增官方 WooCommerce 文件的連結:
https://woocommerce.github.io/code-reference/hooks /hooks.html
#