Как написать Ajax-запросы в WordPress с использованием php и js? Для создания ajax-запроса необходимо прописать обработчик-экшен (метод) в файле functions.php:
// Mini cart ajax in functions.php
add_action( 'wp_ajax_minicart', 'mcart_ajax' );
add_action( 'wp_ajax_nopriv_minicart', 'mcart_ajax' );
function mcart_ajax(){
require get_template_directory() . '/inc/wc-custom-mini-cart.php';
echo custom_wc_mini_cart_toggle();
die;
}
Так же нужно написать сам ajax-запрос в js файле вашей темы WordPress.
// updateMiniCart function
function updateMiniCart() {
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
data: 'action=minicart',
beforeSend: function (xhr) {
// $('.header-mini-cart').text('Загрузка...');
},
success: function (data) {
$('.header-mini-cart').empty();
$('.header-mini-cart').append(data);
}
});
}
// Actions after click buttons
$('.woocommerce-js').on('click', 'form.cart .button', function() {
setTimeout(updateMiniCart, 1500);
//updateMiniCart();
});
$('.woocommerce-js').on('click', '.add_to_cart_button', function() {
setTimeout(updateMiniCart, 1500);
});