Заменить строку суммы купона Woocommerce настраиваемой строкой

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

Например, цена продукта составляет 100, а скидка на купон составляет 20%, тогда отображается название купона -20.

Но я не хочу показывать там -20, вместо этого мне нужно отображать там настраиваемую строку, например, со скидкой 20%. Не сумма, а какая-то нестандартная строка ..

Как я могу это сделать? . Когда я ищу, я могу найти эту тему / woocommerce / cart / cart.php там, где используется функция <?php do_action( 'woocommerce_cart_collaterals' ); ?>. Таким образом, нет возможности редактировать уменьшенную сумму.

Пожалуйста, помогите, обратите внимание, что эта строка должна отображаться в оформлении заказа, корзине, электронном письме с заказом и т. Д.


person abilash er    schedule 02.04.2018    source источник


Ответы (1)


Вам нужно использовать хук фильтра woocommerce_cart_totals_coupon_html, как в этом примере:

add_filter( 'woocommerce_cart_totals_coupon_html', 'custom_cart_totals_coupon_html', 30, 3 );
function custom_cart_totals_coupon_html( $coupon_html, $coupon, $discount_amount_html ) {
    // For percent coupon types only
    if( 'percent' == $coupon->get_discount_type() ){
        $percent              = $coupon->get_amount(); // Get the coupon percentage number
        $discount_amount_html = '<span>' . $percent . ' % </span>'; // Formatting  percentage
        // Replacing coupon discount, by custom percentage
        $coupon_html          = $discount_amount_html . ' <a href="' . esc_url( add_query_arg( 'remove_coupon', urlencode( $coupon->get_code() ), defined( 'WOOCOMMERCE_CHECKOUT' ) ? wc_get_checkout_url() : wc_get_cart_url() ) ) . '" class="woocommerce-remove-coupon" data-coupon="' . esc_attr( $coupon->get_code() ) . '">' . __( '[Remove]', 'woocommerce' ) . '</a>';
    }

    return $coupon_html;
}

Код находится в файле function.php активной дочерней темы (или активной темы). Проверено и работает.

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

Он заменит сумму со скидкой на процент купона на страницах корзины и оформления заказа ...

person LoicTheAztec    schedule 02.04.2018
comment
@abilasher Я на него ответил ... проверю :) - person LoicTheAztec; 02.04.2018