Сообщения об ошибках условного купона на WooCommerce - PullRequest
0 голосов
/ 11 января 2019

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

$(".showcoupon").closest(".woocommerce-info").hide();  

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

add_filter( 'woocommerce_coupon_error', 'pm_change_coupon_error', 30, 3 );

function pm_change_coupon_error( $err, $err_code, $coupon ){

if (is_checkout()) {        
    $err =  ' <a class="showcoupon">' . __( 'Click here to enter a valid coupon code', 'woocommerce' ) . '</a>';    
}
else {
    $err  =  'Please enter a valid code'; //Error message for cart page
}
return $err;
}

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

1 Ответ

0 голосов
/ 17 января 2019

Я решил использовать решение на основе CSS, добавив следующее:

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

При желании можно отключить сообщение «Есть купон? Нажмите здесь, чтобы ввести свой код», добавлено следующее:

.woocommerce-form-coupon-toggle .woocommerce-info {display: none !important;}

Поля купона и сообщение об ошибке немного «перепрыгивают» при входе клиента. Кроме того, он работает нормально.

...