[英]Custom woocommerce Cart AJAX Update
我正在尝试AJAX化我的Woocommerce购物车,但我很难,我真的找不到任何帮助或文档(我搜索了几天)。 所以任何帮助都是非常感激的。
我尝试了两种方法:
自定义AJAX函数更改数量时(在购物车页面上),会触发一个AJAX调用( - > admin-ajax.php),它会触发我的functions.php中的一个函数:
function setQty() { global $woocommerce; WC()->cart->set_quantity( $_POST['itemKey'], $_POST['quantity'], true); echo json_encode(array('totalCount'=>WC()->cart->get_cart_contents_count(), 'total'=>$woocommerce->cart->total)); }
回显的JSON字符串包含购物车中正确数量的商品,但总金额为0.当我重新加载页面时,不会保存更改的数量。 与...相同
WC()->cart->add_to_cart($product_id, $quantity) or adding WC()->cart->calculate_totals()
我试过这种方式,所以我可以格式化我需要更新我的购物车我想要的值。 为了让购物车更新保存,我在这里缺少什么?
非常感谢你提前。
它是您试图创建的迷你购物车/柜台还是整页以查看/删除产品?
如果你想要一个小型车/车柜台,我创建了一个回购协议https://github.com/samisonline/ajax_cart为您在烤的基本功能。这可能不是你确切的格式”重新寻找,但它显示了工作中的woocommerce功能,以及AJAX工作所需的标记!
我不确定你想要更新什么,但我想你想更新一揽子产品的总数量。
此示例替换并更新HTML
假设您有一个div,您的总金额在:
<div class="cart-totals"><?php echo WC()->cart->get_cart_contents_count(); ?></div>
将其添加到您的functions.php:
// Mini Cart update with AJAX
add_filter( 'woocommerce_add_to_cart_fragments', 'custom_cart_count_fragments', 10, 1 );
function custom_cart_count_fragments( $fragments ) {
$fragments['div.cart-totals'] = '<div class="cart-totals">' . WC()->cart->get_cart_contents_count() . '</div>';
return $fragments;
}
注意:您正在替换而不是添加
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.