本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


一直都覺得改完數量後這操作就應該要包含更新整個搞定,但其實從以前到現在的版本都沒這樣處理,不知道是有什麼考量。

不過也沒關係,寫個 JavaScript 去觸發更新也是行的。

解法:

<?php
//functions.php
add_action( 'woocommerce_after_cart', 'mxp_auto_cart_update_qty_script' );
function mxp_auto_cart_update_qty_script() {
   ?>
    <script>
        jQuery('div.woocommerce').on('change', '.qty', function(){
           jQuery("[name='update_cart']").removeAttr('disabled');
           jQuery("[name='update_cart']").trigger("click"); 
        });
   </script>
<?php
}

Gist: link

以上解法實測 WooCommerce 2.6.14 ~ 3.0.1 版本都沒問題,有問題的話歡迎留言討論。

參考這個討論串,可以發現隨著 WC 的更新,方法也是有在調整(HTML架構調整)。但較近期的討論最主要是卡在那個更新的按鈕會在沒改變的前提下為「不可用(disabled)」的狀態,只要偵測改變事件發生後,移除這不可用屬性,觸發點擊事件就好了。

自動更新購物車


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

參與討論

  1. error123error123
  2. tiantzer
  3. c******
  4. i*

4 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon