jQuery( function( $ ) {
$( 'body' ).on( 'click', 'span.quantity-arrow-plus, span.quantity-arrow-minus', function() {
var qty = $(this).parent().find( 'input' ),
val = parseInt( qty.val() ),
min = parseInt( qty.attr( 'min' ) ),
max = parseInt( qty.attr( 'max' ) ),
step = parseInt( qty.attr( 'step' ) );
// дальше меняем значение количества в зависимости от нажатия кнопки
if ( $( this ).is( '.quantity-arrow-plus' ) ) {
if ( max && ( max <= val ) ) {
qty.val( max );
} else {
qty.val(val + step).change();
$( '[name="update_cart"]' ).trigger( 'click' );
}
} else {
if ( min && ( min >= val ) ) {
qty.val( min );
} else if ( val > 1 ) {
qty.val(val - step).change();
$( '[name="update_cart"]' ).trigger( 'click' );
}
}
} );
} );
function woo_discount_total(WC_Cart $cart) {
global $woocommerce;
$delivery_name = "";
$delivery_selected = [];
$available_methods = $woocommerce->shipping->get_packages();
if(isset($woocommerce->session)) {
$delivery_selected = $woocommerce->session->get("chosen_shipping_methods");
}
foreach($available_methods as $method) {
foreach($delivery_selected as $delivery) {
if(isset($method["rates"][$delivery])) {
$delivery_name = $method["rates"][$delivery]->label;
break;
}
}
}
if($delivery_name == "Самовывоз") {
$discount = $cart->subtotal * 0.05; // 0.05 - это 5%
$cart->add_fee("Фиксированная скидка в 5% за самовывоз ", -$discount);
}
}
add_action("woocommerce_cart_calculate_fees" , "woo_discount_total");
$(document).ready(function () {
$("form").submit(function () {
// Получение ID формы
var formID = $(this).attr('id');
// Добавление решётки к имени ID
var formNm = $('#' + formID);
$.ajax({
type: "POST",
url: 'mail.php',
data: formNm.serialize(),
success: function (data) {
// Вывод текста результата отправки
$(formNm).html(data);
},
error: function (jqXHR, text, error) {
// Вывод текста ошибки отправки
$(formNm).html(error);
}
});
return false;
});
});
вот что в js