識別需求
在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 刷新
如果附加jQuery 刷新為必填項:
$(document.body).trigger('wc_fragment_refresh');
或
$(document.body).trigger('wc_fragments_refreshed');
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3