Mam niestandardowy przycisk na stronie mojej kasy, po kliknięciu Dodaję produkt do koszyka za pośrednictwem AJAX.update_order_review() na przycisku kliknij
JS:
$('#add_domain_product').on('click', function() {
$.ajax({
url: Ajax.ajaxurl,
type: "POST",
data: {
action: 'add_domain_product',
},
success: function (data, status, xhr) {
// update command is executed.
console.log(data);
}
});
})
PHP:
add_action('wp_ajax_add_domain_product', 'bs_add_domain_product');
function bs_add_domain_product() {
global $woocommerce;
$woocommerce->cart->add_to_cart('633');
exit();
}
Po tym, że muszę odświeżyć przegląd zamówień, więc wyświetla mojego nowo dodany produkt również. Jak mogę to zrobić?
właśnie miałem zadać bardzo podobne pytanie. Rozwiązałeś to? Teoretycznie powinieneś być w stanie to zrobić, używając funkcji 'WC_AJAX :: update_order_review();' w swojej funkcji 'bs_add_domain_product()'. To * powinno * zwrócić fragmenty do aktualizacji kasy; jednak obecnie zwraca mi dość bezużyteczne "-1", co oznacza, że istnieje potencjalnie błąd w przekazywaniu tej funkcji przez WooCommerce. Albo zupełnie nie rozumiem tego. – indextwo
Zobacz zaakceptowane rozwiązanie, działa jak urok. – user1049961