以前還在公司上班的時候放春假前一天的工作日最爽快,一到公司同事之間就在謠傳說今天應該會提早下班,我總是告訴自己不要期待太大以免太失落,等到快接近中午時分聽到人資正式宣布只要打掃完沒事的人就可以先下班後,大家就立刻沒有上班的心情,紛紛拿起抹布準備打掃。
然後提早下班的同事就一起吃個午飯,邊吃邊開心的聊天,沒有人低頭在滑手機,除了取笑哪個部門的誰誰誰又做了什麼蠢事,還會分享年假的計畫安排,現在回想起來當上班族的開心時刻,年前的最後一天工作日絕對是排名第一,但前提是年終獎金拿的滿意就是了XD
![]() |
上禮拜說好的海洋生物資料庫開發秘辛來啦,一不小心就寫了近五千字跟一堆圖,想知道這個平台的開發過程絕對必讀:https://oberonlai.blog/marine-citizen-science/
客戶使用綠界官方的金流外掛,一直無法在完成付款後跳轉回感謝頁,查了文件確認是用 OrderResultUrl
這個參數來設定沒錯,所以就在 class-wc-gateway-ecpay.php
裡面加入處理結帳完成後的跳轉參數。
但奇怪的是還是沒有跳轉,我也有在 log 中確認這個參數帶入的值是感謝頁無誤,但金流文件裡面就是這個參數沒錯,也試過不是大小寫的問題,卡了好久才發現到它觸發跳轉的方式跟我平常熟悉的 WooCommerce Gateway 不一樣,它是透過一個 Helper 去呼叫綠界的 SDK,也就是說這邊 $data
傳送的參數並不是真正傳送給綠界的資料,只是一個暫存罷了。
真正的要傳的資料是放在 /includes/helper/ECPayPaymentHelper.php
,在處理傳送資料前,會有一個 checkoutPrepare()
方法來檢查 $data
裡面的參數是否在白名單之中。
由於綠界官方金流外掛預設並沒有把 orderResultUrl
這個參數加入白名單,而這邊也沒有 Filter 可以處理,因此只好直接硬塞,加完白名單後再把 $data
裡面的 orderResultUrl
加到真正要傳到綠界的一般參數裡面
最後再根據付款方式把 OrderResultURL
加到各種付款方式的延伸參數之中,這樣就能確保結完帳之後會正確跳轉回感謝頁。
完整程式碼:https://oberonlai.blog/woocommerce-ecpay-redirect/
之前開發的 WooCommerce 推播通知外掛有客人反應說在設定多個工作流程時,符合特定訂單狀態但規則不符合時依舊會進行推播。譬如我設定了兩個工作流程,觸發時機皆為訂單狀態變為保留,然後第一個工作流程是當付款方式等於 ATM 櫃員機,第二個工作流程是超商代碼,假設有一張新訂單付款方式為綠界信用卡,結果竟然會收到這兩個工作流程的推播,即使訂單的付款方式不符合。
問題出在規則的取得,我是先用 WP_Query
去撈出所有工作流程的 CPT,然後把訂單物件傳進去做條件的比對,像是判斷訂單狀態以及付款方式,當條件符合時會寫入 yes 到一個 $result
陣列,不符合的話寫 no,然後再用 array_unique
去刪除重複的值,如果最後$reuslt
的數量為一,那麼就將這個工作流程的文章 ID 寫進準備要推播的陣列。
而問題發生在寫入 no 的狀態,如果兩個工作流程都不符合,那麼經過 array_unique
的 $result
的數量一樣會是一,因而造成兩個不符合條件的工作流程都加進去準備要推播 ID 的陣列,進而產生重複推播的問題。
修改的方向是除了要檢查 $result_count
的數量外,還要確保第一個值是 yes,但我的操作介面只提供 AND 的條件,因此當條件不符合時我直接把 $result
給清空,確保在多個條件有一個不成立的情況下,$result
就會是空陣列。
但我覺得比較好的做法是還是要提供 OR 的選項,但由於 PHP 的運算子無法使用變數來處理,也就是說我無法用變數來決定是 &&
還是 ||
,但有查到 switch
的寫法,這部分找時間再來重構了。
完整程式碼:https://oberonlai.blog/woocommerce-notify-update/
我平常吸收新知的管道有以下幾種:電子報、Facebook、LINE 群組以及瀏覽特定網站,因為管道很多,就算存了起來如果沒寫進筆記軟體或是加入書籤,常常還是會找不到之前看過的東西。首先是電子報,我存起來的方式就是 Archive,等之後要找再用關鍵字搜尋,但我都晚上下班才看電子報,下班後收信會看到工作相關的 Email 就覺得很厭煩,覺得如果可以隔開比較好。
看完電子報後我會看 LINE 群組、 Facebook 跟特定網站,看到值得收藏的工具或長文就用 Safari 內建的閱讀列表先存起來,然後想說等看完明天的電子報再來閱讀,結果明天就完全忘記了,最後閱讀列表裡面東西越來越多,許多連結我都忘了為何要看它了,然後看了之後也只不知道該怎麼處理它,我已經很久沒有用瀏覽器的書籤了,於是最後就繼續讓它待在閱讀列表裡面,要找的時候就超難找。
直到之前看到這篇文章介紹了 Readwise Reader,完完全全打中了我的需求,而且還能把以前的閱讀方式找回來,這產品真的太猛,我分以下三個面向介紹:
![]() |
這個閱讀器可以匯入 RSS、上傳 PDF、EPub,還能用它提供的電子郵件讓我訂閱的電子報直接寄給它,只要一打開 Reader 就能看到來自各種不同管道的資訊,再加上它有出 iOS App,不管是在 Safari 或是 LINE 裡面看到的連結,都能直接分享到 Reader 上面,對於習慣使用閱讀列表的我完全是無縫接軌,最棒的是再也不用開收信軟體就能看到電子報的內容,以及多年前躺在 Feedly 裡面的 RSS 又有重見天日的機會了。
我在看電子書的時候習慣劃重點,記下文章中讓自己印象深刻的句子,但如果是電子報或是網路文章要能劃重點就需要另外安裝工具了,Reader 把這個需求也想到了,可以直接在裡面做標記,而他們也有出 Safari、Chrome 的延伸功能與擴充外掛,可以很方便的在瀏覽器中劃重點與留言作紀錄:
![]() |
除了可以劃重點外還可以下標籤,也可以將文章存檔或是移除,甚至是標記為待讀清單,這讓我以往只能存在閱讀列表的連結終於有了去處,它的搜尋功能非常快速而且中文也很精準,這是閱讀列表或是瀏覽器書籤無法實現的搜尋系統~
![]() |
現階段的方案可以免費使用 30 天,之後年繳 7.99*12=95.88 鎂,折合台幣約 2,905 元,我用了一個禮拜就衝了,大推~~~
-
成為自由工作者後還滿討厭年假的,除了附近能吃的店都沒開以外,想要去哪裡玩都是人擠人,唯一的好處就是有比較多的時間可以跟家人聚一聚,每次都以為年假可以看很多書做很多 Side Project,最後都變成是被姪女姪子們玩弄的日常而已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...