web-dev-qa-db-ja.com

[注文する]ボタンをクリックした後にWoocommerceデータをフックして送信する

私は私のWooコマースのチェックアウトページにフックを追加する方法を探しています( http:// localhost/checkout )カートアイテムと請求先住所、ユーザー情報を他のページに送信する傾向がありますそれ以上の目的のためにPlace Orderボタンをクリックした後の http:// localhost/hooking は可能ですか、そしてそれをどのようにするのですか?

3
bonjourimcam

これには3つの可能性があります。

あなたが本当に注文の場所でそれをしたい場合は、フックを使用する必要があります。

woocommerce_new_order

しかし、私はあなたがフックを使うことをお勧めします:

woocommerce_order_status_completed

これにより、情報を送信した時点で注文が確実に終了します。

請求前に情報を入手するには、いつでも使用できます。

woocommerce_before_checkout_billing_form

それでもうまくいかない場合は、フックリストを確認してください。

https://docs.woocommerce.com/wc-apidocs/hook-docs.html

そうすると、単純に次のようになります。

add_action( 'woocommerce_order_status_completed', 'wc_send_order_to_mypage' );
function wc_send_order_to_mypage( $order_id ) {
$shipping_add = [
            "firstname" => $order->shipping_first_name,
            "lastname" => $order->shipping_last_name,
            "address1" => $order->shipping_address_1,
            "address2" => $order->shipping_address_2,
            "city" => $order->shipping_city,
            "zipcode" => $order->shipping_postcode,
            "phone" => $order->shipping_phone,
            "state_name" => $order->shipping_state,
            "country" => $order->shipping_country
        ];
//from $order you can get all the item information etc 
//above is just a simple example how it works
//your code to send data
}

最終的な目標はあなた自身の支払いシステムを持つことですので、私はあなたがあなた自身の支払いゲートウェイを統合する方法を説明するこのチュートリアルをチェックすることをお勧めします

https://www.skyverge.com/blog/how-to-create-a-simple-woocommerce-payment-gateway/ /

2
Mederic