Запретить перенаправление формы проверки WooCommerce после завершения - PullRequest
0 голосов
/ 17 февраля 2020

Просто пытаюсь остановить оформление заказа, оставайтесь на месте после завершения отправки формы. Как мы знаем, отправка WooCommerce формы оформления заказа осуществляется ajax ?wc-ajax=checkout. По умолчанию после успешного завершения формы заказа заказа перенаправить на страницу спасибо, но это не то, что я хочу сделать.

Я хочу после того, как после успешного завершения формы заказа заказа оставаться на месте. Я перенаправлю позже, после того, как сделаю несколько своих ajax или кодировок.

Я смотрю, WooCommerce checkout.js не нашел ни хука, ни чего-либо для этого, поэтому здесь я прошу вас, ребята, узнать кого-нибудь как это сделать?

ПРИМЕЧАНИЕ: Моя основная причина сделать это, после того, как статус заказа и статус оплаты перед оформлением заказа перешли на страницу спасибо, но для этого мне нужен идентификатор заказа, и поэтому его нужно выполнить в первую очередь. надеюсь, что это имеет смысл.

Если у вас есть квест, не стесняйтесь спрашивать.

1 Ответ

1 голос
/ 17 февраля 2020

Хук woocommerce_payment_complete срабатывает, когда платеж завершен. Единственная передаваемая переменная - это идентификатор заказа, хотя из него можно получить объект заказа и, в конечном счете, пользователя.

add_action( 'woocommerce_payment_complete', 'so_payment_complete' );
function so_payment_complete( $order_id ){
    $order = wc_get_order( $order_id );
    $order->update_status( 'pending' );
    $user = $order->get_user();
    if( $user ){
        // do something with the user
    }
}
...