У меня есть пользовательская кнопка на моей странице проверки, после чего я добавляю продукт в корзину через AJAX.
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(); }
После этого мне нужно будет обновить обзор заказа, так что он отобразит и мой новый добавленный продукт. Как я могу это сделать?
Все, что вам нужно сделать, это вызвать триггер на теле для обновления тележки.
$( 'body' ).trigger( 'update_checkout' );
Это автоматически вызовет все последующие вызовы AJAX, необходимые для обновления информации о корзине, включая проверку заказа.
На странице «Оплата»:
jQuery(document.body).trigger("update_checkout")
В корзине:
jQuery(document.body).trigger("wc_update_cart");