本篇文章更新時間:2019/02/16
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣新台幣 贊助支持。


聽起來是特例,也沒錯,就是特例XD 像是先前文章有提到的活動購票案例,按照 WooCommerce 購物流程結帳沒有多筆購票(訂單)細節可以填寫,而實作在商品中繼資料(meta)中又很複雜,但最麻煩還是錢的問題,多張票情況下有退款要怎拆?

面對這樣的案例,二話不說直接選擇一次訂單一張票,大家退一步就剛剛好了!

實作方式也不難,在加入購物車的同時,把購物車清空,只保留當前加入的那款商品。

add_filter( 'woocommerce_add_cart_item_data', 'mxp_wc_custom_add_to_cart' );
function mxp_wc_custom_add_to_cart( $cart_item_data ) {
        WC()->cart->empty_cart(true);
        WC()->session->set('cart', array());
        return $cart_item_data;
}

Gist: Link

將上述程式碼放置在子主題下的 functions.php 尾巴即可~

這份資料適用 WooCommerce 3.x 以上版本,2.x 的沒試過!

版本演進要顧慮到上下兼容這件事不只是開發者要注意,使用者也要很小心!


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[///////////____36%_________]

發佈留言

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


文章
Filter
Apply Filters
Mastodon