페이지를 다시 로드하지 않고 헤더 장바구니 항목 수를 업데이트하면 사용자 경험이 향상됩니다. 문제와 해결 방법을 자세히 살펴보겠습니다.
목표는 jQuery를 사용하여 서버에서 전체 장바구니 항목 수를 동적으로 가져오는 것입니다. 그러나 현재 구현은 여러 항목을 동시에 추가하는 경우 어려움을 겪습니다.
수동으로 다시 로드하는 대신 Ajax에서 제공하는 woocommerce_add_to_cart_fragments 액션 후크를 활용하세요.
<code class="php">add_filter('woocommerce_add_to_cart_fragments', 'wc_refresh_mini_cart_count'); function wc_refresh_mini_cart_count($fragments) { ob_start(); $items_count = WC()->cart->get_cart_contents_count(); ?> <div id="mini-cart-count"><?php echo $items_count ? $items_count : ' '; ?></div> <?php $fragments['#mini-cart-count'] = ob_get_clean(); return $fragments; }</code>
필요한 경우 위임된 이벤트를 사용하여 개수를 강제로 새로 고칩니다.
<code class="javascript">$(document.body).trigger('wc_fragment_refresh');</code>
또는
<code class="javascript">$(document.body).trigger('wc_fragments_refreshed');</code>
위 내용은 WooCommerce에서 헤더 장바구니 항목 수를 Ajaxify하는 방법: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!