5
ajax経由で追加した商品がカートに追加されたときにミニカートを再設定する必要があります。私はこのようなフィルタwoocommerce_add_to_cart_fragmentsでカートの数量を更新するために管理:Woocommerceカートに入れるajaxとミニカート
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要素の魔女が.cart-内容に表示されているベローが
<div class="header-quickcart"><?php woocommerce_mini_cart(); ?></div>
を置く
<div class="cart-contents">
<?php echo WC()->cart->get_cart_contents_count(); ?>
</div>
です
このdivコンテンツをwoocommerce_add_to_cart_fragmentsと同じ方法で更新したいと思います。または、HTMLマークアップを変更して1 divのすべてを保持する必要がありますか?それを行うための一般的な方法やベストプラクティスは何ですか?
この解決策は動作しますが、両方のフラグメントを単一の 'add_filter()'でマージするだけです。主な考え方は、 '$ fragments'配列を完全に作成することです。 –