Переместить форму купона перед промежуточным итогом в кассе WooCommerce - PullRequest
1 голос
/ 14 июля 2020

В моей дочерней теме Storefront на странице оформления заказа я пытаюсь переместить блок кода купона чуть выше итоговой суммы корзины и ниже обзора товара enter image description here

I see in review-order.php that there's the following hook just at the right place:

do_action( 'woocommerce_review_order_after_cart_contents' );

So in the functions.php file, I added:

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form' );

But, the coupon block appears twice...and above the order review instead of below.

введите описание изображения здесь

1 Ответ

1 голос
/ 14 июля 2020

Поскольку ловушка woocommerce_review_order_after_cart_contents находится внутри html таблицы между тегами </tr> и </tbody>, поэтому она должна отображаться внутри определенной структуры c html , чтобы избежать вашей проблемы.

Это сделает следующее:

remove_action( 'woocommerce_before_checkout_form', 'woocommerce_checkout_coupon_form', 10 );
add_action( 'woocommerce_review_order_after_cart_contents', 'woocommerce_checkout_coupon_form_custom' );
function woocommerce_checkout_coupon_form_custom() {
    echo '<tr class="coupon-form"><td colspan="2">';
    
    wc_get_template(
        'checkout/form-coupon.php',
        array(
            'checkout' => WC()->checkout(),
        )
    );
    echo '</tr></td>';
}

Код входит в функции. php файл активной дочерней темы (или активной темы). проверено и работает.

Если вы хотите отображать форму купона напрямую, вы можете добавить в стиле: css файл вашей активной дочерней темы (или активной темы):

.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
    display: block !important;
}

Связанный: Переместить поле купона после оплаты заказа в Woocommerce?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...