Всем привет!
Хочу сделать функционал в котором объединить страницы корзины cart и оформления заказа ckechout (товар + поля адреса + выбор метода оплаты), чтобы покупатель затрачивал минимально усилий для оплаты товара.
А затем он попадал на промежуточную страницу подтверждения заказа по принципу как реализовано в данном плагине WooCommerce Review Order
Работаю по визуальному гайду Для реализации данной задачи перенес из страницы checkoutв cart поля адреса клиента вот так
И метода оплаты вот так:
Работает, но перебрасывает сразу на thank you page. Если оставить метод оплаты на странице checkout, то будет показывать ошибку заполнения данных адресных полей покупателя. Метод оплаты из checkout_order_review можно исключить таким способом:
Но, на какой хук тогда повесить? Здесь у меня глобальный затык в каком направлении двигаться. Сможете помочь?
Хочу сделать функционал в котором объединить страницы корзины cart и оформления заказа ckechout (товар + поля адреса + выбор метода оплаты), чтобы покупатель затрачивал минимально усилий для оплаты товара.
А затем он попадал на промежуточную страницу подтверждения заказа по принципу как реализовано в данном плагине WooCommerce Review Order
Работаю по визуальному гайду Для реализации данной задачи перенес из страницы checkoutв cart поля адреса клиента вот так
PHP:
<form name="checkout" method="post" class="checkout woocommerce-checkout" action="<?php echo esc_url( wc_get_checkout_url() ); ?>" enctype="multipart/form-data">
<?php $fields = WC()->checkout()->get_checkout_fields( 'billing' );
foreach ( $fields as $key => $field ) {
woocommerce_form_field( $key, $field, $checkout->get_value( $key ) );
}
$fields = WC()->checkout()->get_checkout_fields( 'shipping' );
foreach ( $fields as $key => $field ) {
woocommerce_form_field( $key, $field, $checkout->get_value( $key ) );
} ?>
</form>
И метода оплаты вот так:
PHP:
<div id="order_review" class="woocommerce-checkout-review-order">
<?php do_action( 'woocommerce_checkout_order_review' ); ?>
</div>
Работает, но перебрасывает сразу на thank you page. Если оставить метод оплаты на странице checkout, то будет показывать ошибку заполнения данных адресных полей покупателя. Метод оплаты из checkout_order_review можно исключить таким способом:
PHP:
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );
Но, на какой хук тогда повесить? Здесь у меня глобальный затык в каком направлении двигаться. Сможете помочь?