いくつかの研究とテストの後、私は、そのための正しいフックがこのWPフックの一つであることを考える:
だから私最初のものを使いました。 "shop_order
「ポストタイプ:
add_action('save_post_shop_order', 'process_offline_order', 10, 3);
function process_offline_order($post_id, $post, $update){
// Orders in backend only
if(! is_admin()) return;
// Get an instance of the WC_Order object (in a plugin)
$order = new WC_Order($post_id);
// For testing purpose
$trigger_status = get_post_meta($post_id, '_hook_is_triggered', true);
// 1. Fired the first time you hit create a new order (before saving it)
if(! $update)
update_post_meta($post_id, '_hook_is_triggered', 'Create new order'); // Testing
if($update){
// 2. Fired when saving a new order
if('Create new order' == $trigger_status){
update_post_meta($post_id, '_hook_is_triggered', 'Save the new order'); // Testing
}
// 3. Fired when Updating an order
else{
update_post_meta($post_id, '_hook_is_triggered', 'Update order'); // Testing
}
}
}
あなたは、このコードで簡単に調べることができるようになります。私にとってはうまくいっています。 Iはまた、2つの引数有するwoocommerce_before_order_object_save
フックと試みた
:
$order
(WC_Orderオブジェクト)
$data_store
(データWC_Data_Storeクラスを通じて格納されます)
しかし、私は期待していたように、うまく動作しませんでした。私はこれをソースコードWC_Order
save()
の方法で見つけました。
何が問題なのですか?あなたは何をしようとしているのですか? – Reigel
あなたの問題は何ですか? –
私は、WooCommerce管理者が顧客の一人のために注文を作成したときに、支払いゲートウェイAPIに接続できるイベントをトリガーしようとしています。 – Pro777