WooCommerce 購物流程客製化 2.0


雖然說 WooCommerce 有提供非常多彈性客製化的空間,但基本上還是脫離不了內建的結帳流程與操作介面,縱使可以透過直接修改相關頁面的範本檔來達成目的,但還是有可能會因為範本檔的更新而必須調整已經製作好的內容,這對於想要打造全客製化的購物體驗會是一種限制,該如何在保有 WooCommerce 強大的後台管理功能同時卻還能讓前台介面有高度客製化的彈性呢?

WooCommerce 官方部落格近期宣佈 Store API 進入穩定版,並且會在即將發佈的版本中內建這套 API。當我第一眼看到 Store API 的時候覺得納悶,不是早就已經有 WooCommerce REST API 為何還需要另外搞一套?研究後才發現這是為了實現在區塊編輯器中置入 WooCommerce 區塊而開發的,其中還包含了購物車與結帳頁:

這支外掛叫做 WooCommerce Block,已經發展的相當完整,可以看到以往如果想要在購物車頁增加內容或是調整結帳欄位,都需要透過勾點來進行客製化調整,而在區塊編輯器之中可以在右邊區塊設定來直接控制結帳欄位的顯示與否,甚至修改每個區塊的標題以及加入圖片或是文字段落,這對過去以短代碼為主的呈現方式來說,WooCommerce Block 一整個是大進化!

然後我做了一個大膽的嘗試,我把商品列表、購物車以及結帳區塊全部都塞在同一個頁面,當我加入點擊加入購物車按鈕或是改變購物車內的商品數量時,下方結帳區塊的金額竟然也會同時變動!(大驚)

如果你是想要做那種一頁式的銷售頁面再也不用裝其他外掛了,只要用 WooCommerce Block 就能一次搞定!但是,又是這個但是,我實測過目前台灣常用的金物流以及電子發票外掛都還不支援,在使用結帳頁區塊時它會跳出一個警示說明,告訴你目前他們目前有支援的外掛,大部分都還是他們自己家的居多:

完整列表見此: https://woocommerce.com/document/cart-checkout-blocks-support-status/

因此目前這支外掛的結帳區塊要在台灣實戰可能還有一段路要走,只能仰賴各位開發者大大們的努力了~

回到一開始提到的 Store API,之所以可以不用短代碼就能實現這些功能背後就是靠它,與原有的 WC REST API 不同,它主要是靠 Cookie 來辨識當下的使用者,而 Store API 多了最重要的購物車與結帳,同時它是不用授權就能存取的。

看到關鍵字「不用授權」了嗎?也就是說如果你今天逛一個用 WC 架設的電商網站,我就可以直接用 Store API 取得該站的商品列表並完成結帳,往正面的方面想這是聯盟行銷的一大利器,如果我覺得這個站的商品很不錯,我可以在自己的站開發一個購買介面讓我的瀏覽者購買該站的商品,這樣就不用另外做導購進而降低跳出後的轉換率流失。

更進一步我們可以用前端框架來打造全客製化的結帳體驗,甚至是手機 APP 也會非常適合,擺脫了 WooCommerce 的範本限制就能自由打造使用者介面,它一共用 20 個功能可以操作:

除了基本的購物車新增/刪除商品、套用折價券外,最關鍵的就是 checkout 結帳這一支,根據 Github 的範例只要帶上 billing_address、shipping_address 以及 payment_method 就能完成結帳,另外為了驗證請求來源還需要帶上 Nonce,這樣就能透過 Store API 完成結帳:

另外 Store API 有一些限制,首先,它沒有辦法從 User ID 去指定要結帳的顧客是誰,它只能從當下發出 API 請求的客戶端紀錄 Cookie 來辨識是使用者,其次,它也無法修改商店的資料或是設定選項,有這需求的話還是要透過 WC REST API 來處理。

Store API 主要是用來做資料的傳遞,基於安全性的考量不要用它回傳的內容來做介面的輸出,介面的部分就交給前端框架像是 React.js 進行渲染。

更多的使用說明可以參考以下連結:

官方新聞 https://developer.woocommerce.com/2022/03/25/store-api-is-now-considered-stable/

Github https://github.com/woocommerce/woocommerce-gutenberg-products-block/tree/trunk/src/StoreApi

有了這 API 可以幫 WooCommerce 打通任督二脈,有心的話想要開發類似 Shopify 或是開店平台也不成問題,大大提升了 WooCommerce 的運用場景,我非常期待接下來能看到各種的應用,同時也想再去更了解 WooCommerce Block 看如何把自己寫好的外掛整合進去,讓台灣的 WooCommerce 電商能獲得更完整的支援。

話說最近 WooCommerce 強力徵才中,有興趣的話可以喵一下,我們下週見!

WordPress 開發日常

Read more from WordPress 開發日常

自從 LINE Notify 終止服務後所有站長都在找尋替代方案,如果還是想在 LINE 裡面收到管理員的訂單通知,只能採用與一般顧客相同的方式,也就是申請官方帳號接收通知,雖然一樣有免費額度可以使用,但對於量大的站長來說又是一筆新的支出成本。 如果不想要新增這筆開銷,勢必要尋找其他即時通訊軟體來接收通知,像是採用 Discord 或是 Telegram,如果站長本身就沒有在使用這些軟體需要額外安裝,安裝後還需要申請開發者帳號取得金鑰,而網站這邊也要另外使用外掛或是請工程師進行串接。 難道沒有更方便、更優雅的方式來解決這個問題嗎?不僅可以在桌機上收到通知,同時還能推播到手機甚至是穿戴型裝置上,最重要的是每一則推播不會被收費、也不用擔心原本免費的方案終止服務或是漲價,而這解決方案我們在各大新聞網站都曾見過它,那就是網頁推播通知技術 ( Web Push Notification )。 外掛介紹 DWP 網站助理整合網頁推播通知,可以讓訂閱者在訂單狀態改變時收到推播訊息,支援所有平台,包含 Windows、MacOS、Android 以及 iOS...

這禮拜有幸約到網路創業家蕭上農 Fox 大大進行一對一的創業諮詢面談,從我小時候就是看著他的創業故事長大的,一直有持續在關注他分享的內容,現在自己也走在創業的這條路上,想說何不約一下已經走過這一遭的 Fox,想知道他是怎麼看 WooCommerce 外掛創業的機會。 我們談到三個大主題:OrderNotify 現況分析、創業主題的選擇、AI 浪潮下產品開發的思維。 OrderNotify 現況分析 根據我提供的銷售狀況來看,Fox 覺得這個產品在這些年的業績已經足以代表市場不夠大,目前針對的使用者族群太細了,要有使用 WooCommerce 架站又要有認真經營 LINE 官方帳號的商家數量群體本身就不夠大。 以漏斗的角度來看,這已經是最最下面的底層,業績無法有突破純粹是市場太小,如果是鎖定更大的市場,像是支援 Whatsapp 或是開發 Shopify 的 App 才有足夠大的量能讓個人開發者過活,或是要把眼光放在海外而非僅限於台灣,朝著漏斗的上方移動才行。 我用 Built with 查了一下台灣 WooCommerce 的網站數量是 10,610,以我目前的顧客數量 120...

創業是一場實驗,可以依照自己的想法去實踐的過程非常有趣,雖然免不了許多挫折失敗的時刻,但只要一想到令人興奮的點子又是希望破表。我從這篇文章開始紀錄創業的過程,希望一年後回過頭來看可以回憶起一年前的自己都在想些什麼五四三XD 上一次完全沒有案件收入的狀況要回朔到十幾年前,當時不知道該怎麼找案子,手邊的生活急用金只有兩個月,在時間壓力下只能重回職場先求溫飽。這一次從接案者的身份「離職」,為此我做足了準備,希望在資金燒完前可以找到合適自己的商業模式, 三月份我將心力放在產品的更新與行銷上,做了很多以前沒做過的事,處處充滿了新鮮感,但也因為都沒做過,不曉得哪些有效哪些沒效,所以打算以後在每個月的最後一週寫一篇創業日記,紀錄做對跟做錯了哪些事,算是幫自己回顧這一路上的過程。 第一個月設定的主要目標:行銷,在與 ChatGPT 諮詢過後,它給我的建議是公司產品是有市場的,但因為曝光量不足,所以營收無法提升,要增加曝光度為首要目標。剛好這個月 LINE Notify 停用,就決定以這個切入點來強化產品功能並撰寫行銷內容。 三月份的總工作時數為 41.12 小時,加上客服時間總計約 48...