![]() |
這陣子發現了一個很棒的電子報:MisoNews 日本新創報,有別於目前市面上都在探討歐美的科技圈,這份電子報專門在介紹日本的新創企業,讓我認識許多完全沒聽過但都超優秀的日本科技公司。
記得以前接網頁設計的案子時,總是會以日本企業的網站當提案範例,跟歐美網站的風格比起來,日系風更得台灣企業主的親睞,不管是網站架構、色彩計畫、字型運用甚至是圖像設計,日本網站是教會我網頁設計的導師,也是讓我提案順利的關鍵。
我是這樣提案的:根據客戶產業到這網站挑 2~3 個範例,然後根據自己的想法再挑幾個比較挑 tone 的風格來激發客戶的創意,然後再從這些範例中做拼貼,像是客戶喜歡範例二的 Header、範例四的 Footer、範例一的配色,把它整合成一份完整的設計稿做為基礎,最後以這基礎再進行修改。
我認為使用日本網站作為參考有幾個優點:
我從 MisoNews 認識了 PayPay、GO、ispace 等日本企業,他們的網站不會像台灣的經常會把資訊用斗大的字級讓頁面塞滿滿,而是有足夠的留白來創造瀏覽上的舒適感,同時配色也是恰到好處,僅在關鍵的地方使用顯眼的色系。
不知道有沒有專門在介紹台灣新創而非業配類的電子報?總覺得對這塊好陌生…
需求情境是客戶的網站啟用了多站網路架構,而子站的部分僅作為資料展示用,在維護上客戶希望透過主站就能自動更新子站的內容,因此連同文章的圖片直接使用主站的即可。
在開啟多站網路後,媒體庫的 uploads 資料夾就會多增加一個 sites
的目錄,藉此來存放各子站的圖片,如果是透過複製主站的方式來建立子站,媒體庫的容量就會以倍數增長。
解決方案是請客戶購買 NS Cloner Pro 版,它可以在建立子站時選擇是否要複製媒體庫,如果取消勾選的話就不會再多複製一份出來,然後再使用 WordPress 的勾點 upload_dir
去修改子站的圖片路徑,讓路徑可以對應到主站的媒體庫資料夾。
這樣做的優點是萬一哪天子站要移動到另外一個多站網路底下,只要把修改路徑的勾點移除就好,不會動到資料庫所以不需要複製取代,但缺點是在子站的後台無法正常上傳圖片,如果需要在子站後台上傳圖片,要再另外進行實作了。
替換子站圖片路徑程式碼如下:
https://oberonlai.blog/wordpress-upload-dir-filter/
在某些情境下我們需要透過程式碼來開通 LearnDash 的課程瀏覽權限,像是有些免費課程需要填表單才能觀看,或是連續登入 N 日就送課程,雖然 LearnDash 的擴充套件很豐富,但難免還是遇到需要自行處理的部分。
LearnDash 紀錄會員瀏覽課程權限的方式寫在 wp_usermeta
資料表, meta key 是 'course_' . $course_id . '_access_from
,value 則是 timestamp,當登入的 user 帶有 course_123_access_from
這個 meta 的時候,就代表他有權限瀏覽 ID 為 123 的課程。
以 LearnDash WooCommerce Integration 擴充為例,我想在訂單成立後就讓購買者有課程瀏覽權限,該擴充可以在商品設定頁設定該商品要綁定的課程,讓我們可以根據訂單中的商品明細來取得要開通的課程 ID,欄位名稱是 _related_course
,回傳的是課程 ID 陣列。
因此處理的邏輯是當訂單完成後取得商品 ID 關聯的課程 ID,並將課程 ID 寫入 usemeta 之中,程式碼如下:
https://oberonlai.blog/learndash-course-access/
WooCommerce 推播通知外掛近期的功能建議是加入支援 Gravity Form 外掛,讓填表者送出資料後可以收到簡訊或是 LINE 推播。在研究相關的文件時才發現到 Gravify Form 的生態系非常完整,有各式各樣的第三方擴充可以使用。
像是可以在填寫完表單後自動產出 PDF、電子簽名、或是自動下載名單以作為後續管理之用,也可以支援第三方金流作為購物的表單,就能實現像是一頁式結帳的流程,但不知為何在台灣社群中比較少看見關於 Gravity Form 的討論,但也有可能我太少看社群了XD
Gravity Form 的技術文件整理的非常之好,是我少數願意一個一個點進去而看而非偷懶直接用搜尋功能的文件,由於我需要的是表單提交後的勾點,所以只要點左側的 Hooks > Actions,就能找到跟提交相關的 Submisison,第一個就是我要的結果:
![]() |
裡面的具體使用範例竟然給到了九個,從沒看過有這麼多範例的文件,太讚!第四個就是我需要的程式碼,二話不說直接複製貼上:
![]() |
稍微有點小困擾的地方是萬一表單中的欄位是一個集合的話,也就是像地址這種有包含國家、縣市、區等多個子欄位的情況下,它的欄位 Key 值會用小數點來命名,像是下圖紅框處的地方:
![]() |
field-14.1 ~ 14.6 是地址相關的欄位,使用者需要填寫六個,因此它會拆成六個值,但我需要用 str_replace
去將 field-14 替換成使用者填寫的地址欄位,也就是將有小數點 key 的值全部整併成在一起。
邏輯是先用 preg_match
去檢查 key 的格式為是否為 field 開頭並帶有小數點,然後取得沒有帶小數的部分作為 key,重新組成一個陣列,具體範例如下:
https://oberonlai.blog/gravity-form-api/
-
昨天下午在家工作竟然中暑,逼得我只好提早開冷氣,天氣越來越熱,到了只能躲在家裡避暑、創作力爆發的月份了,我們下週見!
過去我一直覺得,接收管理員通知用 Email 就夠了。如果訂單量不大,靠主機或第三方發信服務,其實也能運作得很順利。但後來與客戶訪談時發現,很多老闆根本不會用 Email,就算有,也常被廣告信和雜訊淹沒。 我自己試過很多收信軟體,試圖藉由工具來過濾重要訊息,但過不了多久,「重要信件」又變得滿天飛。雖然我會每天安排時間檢查,但有些緊急事件,例如新訂單通知,我希望能即時知道。 手機上的 App 通常只能根據「有新郵件」來推播,還找不到能針對「特定寄件者」推播的服務。因此我預設會把 App 的通知功能關掉,避免不緊急的訊息干擾我。 用 LINE 收通知也一樣,目前沒辦法只針對特定對象推播,只能全開或全關。這讓我想過是不是該換個沒那麼常用的通訊軟體來接收通知,但又懶得裝新 App,只好……自己開發一個外掛來解決了(?) 實機展示 要能在手機上接收到訂單通知,有三個關鍵技術:Web Push、Service Worker,以及 Progressive Web App,這邊先跳過他們,如果你也想在手機上收到訂單通知可以參考以下步驟: 1. 下載 DWP 網站助理...
創業的時光真是飛快得不可思議。明明才剛寫完第一個月的回顧,怎麼一下子又到了第二個月。這個月我全力投入開發新產品,原以為靠 AI 協助,兩週內就能搞定,沒想到一弄就是一整個月,還卡關連連,導致原本預定的行銷工作停滯不前。但我真的很喜歡開發產品的過程,彷彿在解謎闖關,每解開一個難題就多學一點新知,形成一種自我成長的良性循環。 工作佔比 四月份總工作時數為 65.64 小時,比三月增加了 24 小時。各類工作佔比如下: 行銷:30% 產品更新:7% 產品研發:63% 其中一個週末我整整兩天都在工作,有幾天甚至加班到晚上七點多。比較難統計的是晚上洗完澡到就寢前,還是會用平板跟 AI 討論白天卡住的問題,甚至請它幫我先寫好隔天要用的功能。若將這些時數也納入,總工時應該超過 70 小時。 我覺得比較理想的工作狀態是一個月大約 50 小時。像加班的那個週末,一直卡關讓我很煩躁,為了突破瓶頸逼自己解完才能休息,結果越急越解不開。後來乾脆休息一天,結果回來上工十分鐘就解決了。 所以還是得適時讓自己充電,給大腦一點空白,真正需要動腦時才有空間處理複雜問題。 行銷 內容行銷...
最近剛完成第一個完全由 AI 協助我開發的 WordPress 外掛,想說應該可以來整理一下這次開發的工作流程以及用到的工具,整體的心得是有 AI 實在是快超多,開發的速度跟飛的一樣,尤其是邊做邊想到新功能時,問一下複製貼上就能搞定,就像在裝外掛。 但不變的是 AI 跟我一樣會卡關,雖然每次它的解釋都好像解決了,但實際上測試就是無法,一直回饋給它後丟出新的解法,結果還是不行,這時候就要停下來自己看程式碼,然後思考是哪一行可能會出問題。 發現有可能造成問題的地方,再拿回去問 AI,這時候它就會說:「沒錯,你發現到問題的關鍵了!」我心裡想的是這應該是你要告訴我的啊 🤣,但整體而言這樣的開發節奏讓我可以很快的進入心流,不用擔心程式碼細節而是產品的方向,真的是回不去沒有 AI 協助的日子了~ 以下我從企劃、開發以及除錯階段,來說明我是如何用 AI 來設計這支外掛的。 企劃階段 這支外掛的主要功能是延續我上一個產品的概念,契機是因為 LINE Notify...