Saya membangunkan pemalam untuk menyambungkan pesanan WooCommerce ke HubSpot. Masalah yang saya hadapi ialah semasa ia berfungsi, cangkuk yang saya gunakan kini menghantar maklumat pesanan kepada HubSpot sebelum teknologi selesai. Jadi ini bermakna perkara seperti "Pesanan Gagal" akan dihantar sebagai "Belum selesai" dan kod kupon ditinggalkan.
Jadi saya ingin tahu apakah cangkuk yang betul untuk digunakan.
Matlamat saya: Hantar data ke HubSpot setiap kali pesanan WooCommerce dibuat dan diselesaikan, dan setiap kali pesanan WooCommerce dikemas kini.
Apa yang saya ada setakat ini:
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); }
Jadi saya rasa saya hanya mencari cangkuk yang sesuai untuk mendapatkan apa yang saya mahukan.
Terima kasih!
Ini jawapan anda:
Setiap peralihan pesanan WooCommerce mempunyai satu atau lebih cangkuk dinamik yang menyala apabila peralihan keadaan berlaku.
Mereka bermula dengan "woocommerce_order_status_" dan selebihnya tindakan ialah status baharu pesanan telah dialihkan atau status perjalanan pergi balik dalam format "to" '
Contoh
Anda boleh mengaitkan fungsi anda
Hanya cetuskan fungsi anda apabila pesanan ditukar kepada selesai, bukan pada bayaran balik, pembatalan, penahanan, dsb. kerana operasi ini akan dijalankan pada operasi lain seperti
Edit untuk menambah pautan ke dokumentasi WooCommerce rasmi:https://woocommerce.github.io/code-reference/hooks /hooks.html