![]() |
過年時收到一張對我意義重大的賀卡。
一直覺得以接案者而言,WordPress 真的是一套很棒的接案工具,除了生態系很豐富以外,對工程師來說也很友善,如果碰到有遵循官方 API 開發的案件時,要接手很容易就可以銜接上,尤其是串接 WooCommerce 的金物流更是可以套用相同的架構下去開發,只要把心力花在第三方 API 的欄位處理就好。
但也許是我太天真了,很多知識早已內化卻不自知,以為將開發的工作交給有心學習的初學者,只要稍微指點他們就能輕易上手,畢竟對我來說這些工作都大同小異,抱持著這樣的傲慢讓我跌過很大一跤…
事情是這樣的:那幾個月身上卡了兩個很複雜的大專案,然後又碰上早已安排為期兩週的年度旅行,因為專案時程滿緊迫的,我必須在出發前把進度完成一個段落,算算日子知道自己完全來不及,於是就想起之前在某次小聚認識的 Eddie。
他原本從事行政工作,後來學習了 WordPress 後決定出來接案,他是我認識非常有企圖心的接案者,只要有任何的接案機會他都會極力爭取,縱使這個案子可能超出他的能力非常多,他覺得困難的案子就是他成長的機會,也因為這樣不畏挑戰的人格特質,讓我在這緊急時刻想到了他。
我當初需要請他幫忙的地方是手刻 WordPress 佈景主題,由於當時 Eddie 還沒有學習過任何的前端,也沒有寫過程式碼,我就跟他一起約出來教他怎麼寫,從最基本的 HTML 開始,一行一行把我腦中的知識輸出給他。
就這樣,在我出發前我覺得他已經可以掌握完成這個工作所需的知識了,然後希冀等我回來後他就能幫我把前端的進度完成。我當時還不了解對新手來說「知道」跟「會做」中間的鴻溝有多大,當我上工後看到他完成的進度,我就深深覺得自己不是位合格的指導者 Orz
我看到的是完全無法用的程式碼,在誇獎與肯定他的付出的當下,我知道我又要熬夜了,我接手後全部打掉重練,然後跟客戶歹勢重新約定交件時間,我付出了自己先掏腰包墊給 Eddie 的開發費用與指導他的時間,以及無數個熬夜趕工的夜晚與因為專案延誤而導致的損失,我得到的教訓是不該把不適合的專案交付給不合適的人選。
首先案子都已經火燒屁股了,我還找完全沒有程式經驗的人來幫忙,算上指導的時間我可能都能自己完成一部分了。其次是指導者的自我感覺良好,因為自己講很多好像很厲害,卻忽略了學習者是否有確實吸收,最後是破壞與客戶的約定,發覺自己越忙的時候越不會去仔細計算時程的合理性,只想先把案子拿下來再說,最後損失的是彼此。
有了這次的教訓之後,對於發包案件我變得異常保守,很害怕歷史再度重演,直到轉換成敏捷式接案的工作方法後,我又累積了許多代辦事項,才開始又有找人幫忙的念頭,但這一次我希望不要再重蹈覆轍。
首先,我寫了一篇徵才文章,具體說明合作模式以及所需技能,收到來信後我們就約線上面談,我會先了解他的背景以及過往作品,再請他開編輯器解釋他的程式碼邏輯,我也會開我的程式碼請他解釋這段的作用,並且詢問他是否有更好的寫法。
有了初步認識後,我會先發包一個對我來說 1~2 時內就能完成的功能,藉此測試實際工作起來合作溝通是否順暢,也可以觀察他對於 WordPress 的理解程度以及工作效率。時薪制的好處就是如果不適合,我付出的成本就是這個幾小時的時薪,而他也能得到相對應的酬勞。
而我就是這樣開始跟東霖的合作,他自己有在經營 WordPress 教學頻道,同時也是台南小聚的共同籌辦人,第一次合作就被他的效率給驚艷到,他比我預期的更快完成任務,也讓我願意交辦給他更多工作。
當然也不是每一個工作都能順利完成,我們也常遇到我倆都不知道該怎麼辦的狀況,這時候我們就會開始腦力激盪,這條路不通就換條路走,去研究更多資料看要怎麼解,也因此總是可以想出更多更好的解法,我很享受這樣的過程,像是有一位可以彼此互相學習共同成長的夥伴。
我跟他合作了近一年的時間,雖然由於我的工作型態改變而沒有再繼續發案給他,但這是一段對我意義很重大的合作經驗,他幫助我從發包失敗的教訓中走出來,讓我相信只要用對的模式找到對的人,合作接案會比一個人單打獨鬥來得更強大!
因為之前開發的 WooCommerce 推播通知外掛有提供 LINE 登入的功能,有客戶反應說希望可以自行決定登入按鈕的擺放位置,關於這需求我目前是用短代碼來處理,雖然上一個版本我有整合區塊讓使用者設定按鈕,但那是用 ACF 設計的,礙於檔案尺寸的緣故,這支外掛並沒有採用 ACF,因此想要用區塊設定 LINE 登入按鈕勢必要自己刻了。
前些年看 Handbook 學區塊開發碰到很大的挫折,我看不懂文件在寫什麼,也找不到一個具體的範例可以直接拿來修改套用,這禮拜看過後覺得有好一些,但還是非常不習慣區塊 JS 的寫法,為了要習慣它我還先去 K 了 React.js 文件,結果區塊的寫法跟原生的又不太一樣,反而更不習慣了 > <
於是想說算了,改請機器人教我寫,我花了三個多鐘頭跟它請益,並且不停修改它提供的程式碼,把噴出的錯誤訊息丟給它叫它修,直到最後,我終於,還是沒有完成區塊開發 Orz…
它給的寫法跟 Handbook 不太一樣,像是它還是在 PHP 中註冊 attributes,現在官方的建議方法是要用 block.json
,雖然可以請它用這個方法改寫,但如果我沒看過 Handbook 就不知道該怎麼修改。
我目前卡在找不到一套適合的 CLI,可以編譯 JSX 並且支援 HMR 的開發環境,本想用之前社群很推的 Vite,但實作起來問題很多,然後官方提供的 CLI 要整合在既有的外掛之中又有難度,總結下來開發區塊我目前卡在以下幾個點:
目前我查到寫的比較好的教學有:
然後 CLI 可以參考 vite-gutenberg,只是還沒實現 HMR,如果你有區塊的開發經驗還懇請賜教啊~
之前做過一個需求是要讓訂單建立的 N 天後,去執行一些任務,這邊先以增加訂單備註為範例,我當時不知道是怎麼想的,我是設計成每天午夜十二點的重複排程,時間一到就會去撈出所有訂單,然後去拿今天的時間跟訂單建立時間做比較,也就是今天時間 - 訂單時間 > 5,就會寫入該訂單的備註。
這樣的寫法很複雜,因為要去做時間的計算,而且萬一訂單量非常龐大,每晚撈出所有訂單對於資料庫是不小的負擔,後來轉念才想通,我只要在訂單建立的時候建立只屬於該訂單的排程,然後把執行時間設為五天後不就解決了?
但還有一個問題是如果每張訂單都有屬於自己的排程,那麼我該如何分辨這個排程是屬於哪張訂單?一開始我想的是以訂單編號當作排程名稱,然後在執行後去抓出排程名稱的 ID,但這樣在註冊排程時又會變得太繁雜,好在 Action Schedule 有提供參數的功能,可以在註冊時就一併把訂單 ID 紀錄起來,之後就能拿到這個參數做處理,實際作法如下:
我們先在訂單成立時使用as_schedule_single_action
註冊單次排程,並且以現在時間的五天後作為觸發時間,同時以 order_note_cron
作為排程名稱,而最後就是要傳給排程的參數,用陣列的方式存放訂單 ID,接下來就可以把新增訂單備註的函式掛在這個排程上。
完整程式碼如下:https://oberonlai.blog/woocommerce-action-schedule/
![]() |
之前我用的是 iTerm,Warp 比他強八百倍,它可以:
每次用 iTerm 最不習慣的地方是我都會用跟 VSCode 一樣的游標移動方式來操作,也就是 cmd + 方向鍵將游標移到開頭或結尾、option + 方向鍵在段落移動、搭配 shitft 直接做選取,用了這功能在 Warp 裡面用 vi 跟用 VSCode 沒兩樣,超方便!
以往的自動提示好像要另外裝工具才可以使用,但我沒那麼常使用終端機所以就沒特別研究,而 Warp 直接內建了,就不需要再花時間去找其他工具了。
也由於我不常打指令,每次要用的時候總是要去查,Warp 內建多種情境的指令,輸入關鍵字就會自動提示,最棒的是還有 AI 可以輔助,像我這禮拜忘記修改檔案權限該怎麼寫,我就直接請 AI 教我,一方面除了可以複習,另一方面還可以偷懶直接拿來用XD
這麼多強大的功能個人使用是完全免費的,光是這一點就超值得一試了!
對於 Warp 它已經滿足我八成的需求,私心希望它還可以紀錄 SSH 的登入帳密就更棒了~
-
從年假過到現在感覺還沒收心,每天都想出去放風耍廢,有在思考是不是應該趁夏天天氣熱躲在家認真工作就好,在這麼麼涼爽的春冬應該要出門去環島才對?想想而已,因為我還有下禮拜的電子報要寫XD,我們下週見!
自從 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...