其實這需求也不是第一次碰到人問,就是有人會想要把「購物車(Cart)」頁面給拔除,整合到結帳頁面來縮短結帳流程。

示意圖如下,就是先選擇運送方式後,再來輸入對應需要的欄位。一個頁面搞定購買商品預覽和結帳。

結帳頁面運送方式

WooCommerce 的做法就是把功能搬過來結帳頁面用,程式碼片段如下:

function action_woocommerce_before_checkout_form($wccm_autocreate_account) {
    wc_cart_totals_shipping_html();
    woocommerce_shipping_calculator('選取運送方式');

};
add_action('woocommerce_before_checkout_form', 'action_woocommerce_before_checkout_form', 10, 1);

function woocommerce_shipping_calculator_scripts() {
    if (is_checkout()) {
        if (wp_script_is('wc-cart', 'registered') && !wp_script_is('wc-cart', 'enqueued')) {
            wp_enqueue_script('wc-cart');
        }
    }
}
add_action('wp_enqueue_scripts', 'woocommerce_shipping_calculator_scripts');

但這只是很雛形的開始,實際上大概還要做的事是把 wc_cart_totals_shipping_html() 方法繼承與改寫,輸出新的樣板結構(cart-shipping.php),控制選取事件與後端程式互動。

如果還是需要先檢視購物車項目完全取代購物車頁面,像是調整商品數量等等的話,那又要把購物車項目檢視那塊也搬過來了。

這類型改結帳流程的活都是費時費工,不在正常建議選項XD

Facebook 外掛功能


Share:

作者: Chun

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

發佈留言

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