@ligisayan

Как в магазине woocommerce добавить страницу с проверкой введенных данных между корзиной и оплатой?

Всем привет!
Есть магазин на woocommerce.
Хочу сделать функционал в котором объединить страницы корзины cart и оформления заказа ckechout (товар + поля адреса + выбор метода оплаты), чтобы покупатель затрачивал минимально усилий для оплаты товара.

А затем он попадал на промежуточную страницу подтверждения заказа по принципу как реализовано в данном плагине WooCommerce Review Order

Работаю по визуальному гайду
Для реализации данной задачи перенес из страницы checkout в cart поля адреса клиента вот так

<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>


И метода оплаты вот так:
<div id="order_review" class="woocommerce-checkout-review-order">
    <?php do_action( 'woocommerce_checkout_order_review' ); ?>
</div>


Работает, но перебрасывает сразу на thank you page. Если оставить метод оплаты на странице checkout, то будет показывать ошибку заполнения данных адресных полей покупателя.
5cb70b61d2b38195890369.png

Метод оплаты из checkout_order_review можно исключить таким способом:

remove_action( 'woocommerce_checkout_order_review', 'woocommerce_checkout_payment', 20 );


Но, на какой хук тогда повесить? Здесь у меня глобальный затык в каком направлении двигаться. Сможете помочь?
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы