Внутри моей дочерней темы custom.js у меня есть следующее:
$(document.body).on('added_to_cart', function() {
console.info('Product Added');
});
Теоретически это должно выводить это сообщение в консоль, когда продукт был успешно добавлен в корзину. Однако на данный момент он ничего не делает, и я не могу понять, почему?
Вы, безусловно, сделали некоторые другие настройки (или ваша тема имеет некоторые, или даже плагин может быть виноват) ... без живой ссылки невозможно проверить, что происходит не так, поскольку код, который вы используете, должен работать по умолчанию woocommerce ... Также это код будет работать только на страницах archove в качестве магазина, если добавление ajax в корзину включено в настройках Woocommerce.

Мне кажется, это нормально работает ...
HTML (с Bootstrap 4)
<div class = "container mt-5">
<div class = "col-4 mx-auto">
<div class = "card">
<div class = "card-body text-center">
<h5>Hello, World!</h5>
<br>
<button id = "addToCart" class = "btn btn-primary">
Trigger Event
</button>
</div>
</div>
</div>
</div>
JS
var body = $(document.body);
var button = $('#addToCart');
body.on('add_to_cart', function (event) {
console.info('added to cart!');
});
button.on('click', function () {
body.trigger('add_to_cart');
})
Вы можете проверить этот CodePen и поиграть с ним:
https://codepen.io/anon/pen/ZjBoNY?editors=1010
jQuery(document).ready(function($){
$('body').on( 'added_to_cart', function(){
alert("testing!");
});
});
Используйте это у меня работает .. :)
'added_to_cart'должен быть событием. Это событие настроено или добавлено?