WooCommerce 推播通知外掛的開發血淚

目錄

前陣子發現到工作量超載,想要做的事情太多,變成什麼都摸一點造成進度緩慢,於是下定決心先把主線任務完成,而經過了這幾個月的火力集中,終於把從去年就說要做好的付費外掛完成了,那就是「WooCommerce 推播通知外掛」。

這支付費外掛的功能是提供經營電商的站長,可以把交易資訊用顧客熟悉的方式推播給他們,其中最主要的就是 LINE 官方帳號的訊息推播,為了實現該功能還特別整合 LINE 登入,這樣才能取得 LINE User ID 進行推播,其他還可以使用電子郵件以及簡訊推播,有興趣朋友可以參考這篇文章介紹的完整功能列表:https://oberonlai.blog/wordpress-line-bot-plugin/

一、動機

之所以會想要開發這支外掛主要是受到客戶的啟發,客戶網站長期使用台灣的 LINE 機器人 SaaS 服務,透過這個服務可以進行 LINE 推播以及自動化的訊息發送,同時還可以在顧客身上貼標籤,以作為客戶管理系統來使用。

當時就在想如果可以不用依賴第三方服務就能讓 WooCommerce 本身做到 LINE 推播,應該會方便很多,並且整合台灣常見的金物流外掛,讓站長可以自訂推播內容,像是推播虛擬 ATM 轉帳帳號、超商取貨的門市地址等等,如果是用第三方服務這些都是需要客製化串接 API ,沒有工程師的話很難實現這樣的功能。

二、調查

跟幾位朋友聊過後覺得這支外掛應該有搞頭,於是就先來研究市面上相關的外掛,目前比較多的是使用 LINE Notify 來通知管理者顧客訂單狀態的外掛,雖然也有使用 LINE Messaging API 直接推播給顧客的,但不知是什麼原因讓作者決定下架。

另外也有朋友介紹一間泰國的開發商推出功能類似的外掛,本來打算要買來好好來研究一下的,但深怕面對高牆信心就垮了,於是就打定主意不管他們功能多強大,只要我有提供正體中文的操作介面以及技術支援應該就能保有優勢,等到外掛上市後再參考他們還有哪些功能,藉此來提供更多價值。

有了這些心理準備後,我就打開筆記軟體開始把這支外掛的功能寫下來,至於介面的部分我直接截圖 AutomateWoo 的畫面,然後用 Photoshop 把一些內容修改成我想要的樣子,就這樣在一行程式碼都還沒寫的情況下,我就收到十幾封的來信詢問,藉此確認這支外掛是我接下來的開發重點。

三、障礙

雖然說時間跟乳溝一樣擠一擠就有了,但當寫下那篇試水溫的文章後,主要的專案工作突然開始忙碌起來,為此我還擴編團隊來消化工作,初期的溝通花了不少時間進行磨合,原以為請夥伴幫忙就能讓自己有時間進行開發,然而身為 PM 的需求彙整、交辦事項、測試驗收所花的時間卻跟自己開發差不多。

因此我決定每週固定空一天下來,完全不處理任何的專案工作,全力來開發這支外掛,終於讓這個專案逐漸取得進展,看著功能一週又一週的逐漸成形,就很想一週七天都拿來開發,但有了時間卻又開始分心,只因為看到 WooCommerce Store API 的正式釋出,又有新的想法想搞,也就是週報停刊前我每個禮拜在推進的 WooCommerce Cat。

所以當時的情況是每週除了要弄推播通知外掛,還要實作 Store API,然後把實作的結果整理成電子報寄送,這三件任務在當時我是把電子報當成主線任務,因此只要遇到特殊狀況,我選擇捨棄的是推播通知外掛,因此進度非常緩慢。

四、歸零

在分配給它的時間逐漸被 WooCommerce Cat 壓縮以外,這中間還發生了無法挽救的檔案誤砍的悲劇,事情的發生經過我有寫在之前介紹打包工具 wpack.io 的那篇文章裡面,現在回想起來,我覺得這是老天爺懲罰我沒有認真對待自己的專案,以為是 Side Project 就輕忽備份。

誤砍這個專案的下午,在想不出任何補救措施後,我躺在工作室的地板上,什麼事情也不想做,一想到累積好幾個月的成果全部消失殆盡,我連坐起來的力氣都沒有,晚上回老婆家一整個人如同行屍走肉,連岳母都能發現我的不對勁,以為我是不是生病了,這種被抽空的感覺持續了好幾天。

五、重新開始

曾經一度我再也不想寫這支外掛了,反正 WordPress 社群這麼大,就算我不寫一定也會有其他大大會開發,但每當無意間瀏覽到這個專案的資料夾時,我就會在想假使哪天在小聚上遇到開發出這支外掛的大大,我卻只能苦笑說:「嘿,你這外掛我之前也想要開發,可惜被我自己砍掉了XD」,我一定會幹得要死,就為了這口氣,我決定重新踏上了旅程。

重新開始最難受的環節,就是把之前已經完成的待辦事項 uncheck,每 uncheck 一次就會在心裡咒罵自己沒有備份的粗心,尤其是那個仿造 AutomateWoo 的編輯介面在沒有任何自訂欄位外掛的輔助下實在有夠難刻,更不用說複數條件的邏輯讓我當初卡了超久的關,現在全部要重寫還不知道是否回想的起來該怎麼做,很想用時光機把三個月前的自己帶過來請他教我怎麼做。

就這樣,從第一行開始再度踏上旅程,為了全心全意的面對它,我做了三份備份、暫停手邊的其他 Side Project、停更每週我最重視的電子報,歷經了數個月的打造,這一次終於完整的走完這趟旅程,而且我自認寫得比歸零之前的版本更好,功能的定位也比之前來得更清晰。

最後不免俗的還是要感謝這期間持續來信詢問的朋友,因為你們的詢問讓我知道我必須完成它,也很感謝一直陪著我在地上打滾的老婆,為了讓我心情好起來妳辛苦了,最後也很感謝這幾個月的自己,不管這支外掛最後是否賣得好,至少讓我沒有遺憾,未來參加小聚也不用苦笑了XD

後續計畫

在上架的第一週目前銷售成績是成交三筆訂單與五個站的授權,並且進行了八次的版本修改,主要在提升與其它佈景主題與外掛的相容性,未來會根據顧客需求增加不同的功能,可能是推播內文的參數支援更多外掛,或是加入不同的推播平台,以及用不同的訂單條件來觸發推播。

如果你剛好有需要或是單純想支持一下本土 WordPress 開發者,請用新台幣砸我吧~~~

購買連結:https://oberonlai.blog/product/woocommerce-notify/

目錄

賴俊吾 / Oberon Lai
賴俊吾 / Oberon Lai

現為全職 WordPress 工程師,網站開發經歷 11 年,專攻前端工程與 WordPress 佈景主題、外掛客製化開發

訂閱電子報

Hi,我是 Oberon,我會固定在每週五早上發送接案心得以及與 WordPress 相關的電子報,同時也會分享一些實用的開發知識,讓你在 WordPress 的接案路上不孤單!

專注於分享 WordPress 開發、接案技巧、專案管理等自由工作者必備知識與心得

© 2023 想點創意科技有限公司

想點創意科技有限公司 | 統一編號 90516823
Designed by Hend Design | 隱私權政策

訂閱電子報

Hi,我是 Oberon,我會固定在每週五早上發送接案心得以及與 WordPress 相關的電子報,同時也會分享一些實用的開發知識,讓你在 WordPress 的接案路上不孤單!