Woocommerce 添加到购物车 ajax 和迷你购物车
Woocommerce add to cart ajax and mini-cart
当通过 ajax 添加到购物车时,我需要重新填充迷你购物车。我设法使用过滤器 woocommerce_add_to_cart_fragments 更新购物车数量,如下所示:
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
<?php $fragments['div.cart-contents'] = ob_get_clean();
return $fragments;
} );
我的 HTML 标记是
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
波纹管隐藏 div 显示在 .cart-contents hover
<div class="header-quickcart"><?php woocommerce_mini_cart(); ?></div>
我想以与 woocommerce_add_to_cart_fragments 相同或相似的方式更新此 div 内容。或者我应该更改 HTML 标记并将所有内容保存在 1 div 中吗?这样做的常用方法或最佳做法是什么?
好的,所以我刚刚意识到我可以使用 woocommerce_add_to_cart_fragments 过滤器 2 次,如下所示:
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
<?php $fragments['div.cart-contents'] = ob_get_clean();
return $fragments;
} );
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="header-quickcart">
<?php woocommerce_mini_cart(); ?>
</div>
<?php $fragments['div.header-quickcart'] = ob_get_clean();
return $fragments;
} );
第一次更新数量,第二次刷新迷你购物车视图。
当通过 ajax 添加到购物车时,我需要重新填充迷你购物车。我设法使用过滤器 woocommerce_add_to_cart_fragments 更新购物车数量,如下所示:
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
<?php $fragments['div.cart-contents'] = ob_get_clean();
return $fragments;
} );
我的 HTML 标记是
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
波纹管隐藏 div 显示在 .cart-contents hover
<div class="header-quickcart"><?php woocommerce_mini_cart(); ?></div>
我想以与 woocommerce_add_to_cart_fragments 相同或相似的方式更新此 div 内容。或者我应该更改 HTML 标记并将所有内容保存在 1 div 中吗?这样做的常用方法或最佳做法是什么?
好的,所以我刚刚意识到我可以使用 woocommerce_add_to_cart_fragments 过滤器 2 次,如下所示:
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
<?php $fragments['div.cart-contents'] = ob_get_clean();
return $fragments;
} );
add_filter( 'woocommerce_add_to_cart_fragments', function($fragments) {
ob_start();
?>
<div class="header-quickcart">
<?php woocommerce_mini_cart(); ?>
</div>
<?php $fragments['div.header-quickcart'] = ob_get_clean();
return $fragments;
} );
第一次更新数量,第二次刷新迷你购物车视图。