mirror of
https://gh.wpcy.net/https://github.com/mainwp/Code-Snippets-Functions.git
synced 2026-04-29 11:32:21 +08:00
https://stackoverflow.com/questions/66796077/clear-woocommerce-cart-on-currency-switcher-change/66799922
32 lines
1.1 KiB
Text
32 lines
1.1 KiB
Text
// The jQuery AJAX enqueued code
|
|
add_action('template_redirect', 'currency_change_trigger_clear_cart_js' );
|
|
function currency_change_trigger_clear_cart_js() {
|
|
wc_enqueue_js( "jQuery( function($){
|
|
$(document.body).on('change', '#alg_currency_select', function() {
|
|
$.ajax({
|
|
url: '" . admin_url('/admin-ajax.php') . "',
|
|
type: 'POST',
|
|
data: {
|
|
'action': 'currency_change_clear_cart'
|
|
},
|
|
success: function(response) {
|
|
if( response == 'cleared' ) {
|
|
$(document.body).trigger('wc_fragment_refresh'); // Refresh cart
|
|
}
|
|
// console.log(response);
|
|
}
|
|
});
|
|
});
|
|
});" );
|
|
}
|
|
|
|
// PHP AJAX receiver: Empty cart
|
|
add_action( 'wp_ajax_currency_change_clear_cart', 'currency_change_clear_cart' );
|
|
add_action( 'wp_ajax_nopriv_currency_change_clear_cart', 'currency_change_clear_cart' );
|
|
function currency_change_clear_cart() {
|
|
if( count(WC()->cart->get_cart()) > 0 ) {
|
|
WC()->cart->empty_cart();
|
|
echo 'cleared';
|
|
}
|
|
die();
|
|
}
|