簡介
這個需求滿常見的,有時候因特殊情境需求,例如A商品與B商品有不同的運費,所以不能一起被加入購物車結帳,這樣的功能一般都要找特殊的外掛或付費式的外掛才能達成,而這樣的外掛好像也不好找。
運用範圍
1、有可能是有多個不同頁面或重類的「一頁式購物」,所以購物車中只能存在「當下這一頁式購物中所開放購買的商品」。
2、有些是低溫運送與常溫運送的商品,因運費不一樣所以須分開下單。
3、有些是特殊優惠商品,不能與一般商品一起下單。
4、有些是可寄海外、有些只寄國內的商品,所以要分開下單結帳。
5、有些是虛擬商品(例如課程)、有些是實體商品,所以分開下單結帳。
範例
請至範例網站測試 :
原理與思路
免外掛,主要是在購物車頁與結帳頁寫了一篇jQuery程式,來判斷指定的商品是否有被「一起加入購物車中」,有的話會跳出警告,並暫時把結帳按鈕禁用,等訪客有刪除部分指定商品後,警告才會消失並才可以結帳。
在程式原始碼中,你可以先填入幾個不能與一般商品加入購物車的商品分類名稱,例如”冷凍食品的分類“、”預購商品的分類“預先設定好後,這二個分類的商品就不能與其它分類商品一同被加入購物車中。
另這個作法唯一有一個限制,就是Woocommerce內建的「購物車」流程仍需存在,也就是在訪客加入購物車後,在結帳過程中仍需出現「購物車明細」才能讓程式產生判斷的作用。
只要貼上本篇介紹之程式碼 ,即可運作。