На странице оформления заказа у меня есть кнопка для выбора способа доставки.Когда моя корзина содержит товар, который входит в категорию, я хочу удалить все товары из корзины, которые находятся в той же категории.
<button onclick="clear_product_cart()">Check possibility</button>
Мой скрипт:
function clear_product_cart(){
jQuery.post(
ajaxurl,
{
'action': 'clear_cart'
},
function(response){
alert( ' product removed!');
});
}
В моей функции .php
add_action( 'wp_ajax_clear_cart', 'clear_cart' );
add_action( 'wp_ajax_nopriv_clear_cart', 'clear_cart' );
function clear_cart(){
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
if ( !has_term( 'my_cat', 'product_cat', $cart_item['product_id'] ) ) {
WC()->cart->remove_cart_item( $cart_item_key );
}
}
die();
}
Не знаю почему, но у меня ошибка 500 послеПервый продукт был удален.У вас есть предложение?благодарственное в