」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何使用 AJAX 動態更新 WooCommerce 標頭購物車專案計數?

如何使用 AJAX 動態更新 WooCommerce 標頭購物車專案計數?

發佈於2024-11-04
瀏覽:152

How to Dynamically Update WooCommerce Header Cart Items Count Using AJAX?

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

識別需求

在WooCommerce 整合WordPress 主題中,更新標頭購物車在不重新加載頁面的情況下計算項目數是一個常見的挑戰。 jQuery 提供了一個解決方案,但當可以添加多個數量的商品時就會出現問題。

利用AJAX 檢索總計數

從PHP 動態檢索購物車總數使用jQuery 進行會話時,會建立一個reloadCart.php 檔案來回顯值:

cart->get_cart_contents_count();
?>

AJAX 實作

但是,嘗試使用jQuery 的get()、post() 或ajax() 函數對此檔案進行AJAX 呼叫並不成功.

改進的方法

WooCommerce 提供了一個支援Ajax 的專用woocommerce_add_to_cart_fragments 操作掛鉤,而不是依賴重新載入。

HTML 整合

使用唯一ID 或類別將購物車計數嵌入標頭中:

$items_count = WC()->cart->get_cart_contents_count(); 
?>
    

PHP程式碼

在主題的function.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();
    ?>
    

如果使用類,請將 #mini-cart-count 替換為 .mini-cart-count。

jQuery 刷新

如果附加j​​Query 刷新為必填項:

$(document.body).trigger('wc_fragment_refresh');

$(document.body).trigger('wc_fragments_refreshed');
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3