首頁  >  文章  >  後端開發  >  如何在 WooCommerce 中 Ajaxify 標頭購物車專案計數:逐步指南

如何在 WooCommerce 中 Ajaxify 標頭購物車專案計數:逐步指南

Susan Sarandon
Susan Sarandon原創
2024-10-30 11:29:26989瀏覽

How to Ajaxify Header Cart Items Count in WooCommerce: A Step-by-Step Guide

WooCommerce 中的Ajaxify 標頭購物車專案計數

簡介

在不重新載入頁面的情況下更新標頭購物車專案計數

在不重新載入頁面的情況下更新標頭購物車項目計數

在不重新載入頁面的情況下更新標頭購物車項目計數可增強使用者體驗。讓我們深入研究問題及其解決方案。

問題陳述

目標是使用 jQuery 從伺服器動態取得購物車商品的總數。然而,目前的實作在同時添加多個項目時會遇到困難。

解決方案

    1.使用專用的WooCommerce 掛鉤
  • 不用手動重新加載,而是使用由Ajax 提供支援的woocommerce_add_to_cart_fmentsmentsments 操作掛鉤:使用唯一ID 或類別將購物車計數嵌入HTML,例如
    ...
    .
將以下程式碼新增至您的functions .php中:
<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>

2.使用jQuery 強制刷新

<code class="javascript">$(document.body).trigger('wc_fragment_refresh');</code>
如有必要,使用委託事件強制刷新計數:

<code class="javascript">$(document.body).trigger('wc_fragments_refreshed');</code>

    好處
  • 避免不必要的重新加載。
  • 每次新增或刪除商品時動態更新購物車計數。
透過提供即時回饋增強使用者體驗。

以上是如何在 WooCommerce 中 Ajaxify 標頭購物車專案計數:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn