profile

WordPress 開發日常

Featured Post

我為什麼不再用 Antigravity,而改在終端機裡開發

大家端午快樂,這週分享一下我目前的主力開發工具~ 開發工具的使用歷程 在 AI 時代前,我都是使用 PhpStorm。PHPStorm 確實順手——跳到函式定義、儲存時自動格式化和檢查,這些功能讓開發效率提升不少。 進入 AI 時代後,我用了 Cursor 好幾個月。自動補全和聊天介面加速了不少開發流程。但用了一段時間,我發現自己還是需要理解程式碼的能力,最後回到 PHPStorm 搭配 Claude Code 的組合。 後來也試過 Google 的 Antigravity。除了免費額度以外,用起來跟 VS Code 差不多。直到某天我打開系統監控,發現 Antigravity 的記憶體佔用竟然到了 40 幾 GB。 40 幾 GB,只為了一個程式碼編輯器。 程式碼視窗還重要嗎? 這讓我開始重新思考一個問題:傳統 IDE 的設計核心是「程式碼」。整個介面以程式碼編輯器為主體,側邊欄、終端機、除錯面板都是輔助角色。 但我現在的開發流程已經變了。大部分時間我在跟 Claude Code 對話,描述需求、確認方向、審查它產出的結果。真正需要自己打開檔案逐行閱讀的時候,一天可能不到三成。...

前陣子,我教會一位朋友使用 Claude Code。他完全不會寫程式,連終端機是什麼都沒聽過。但他有一個很清楚的產品想法,一直找不到工程師幫他做。 兩週後,他把那個產品完整地實作出來了。 不是原型、不是 wireframe,是一個可以實際運作的產品。他全程沒有寫過任何一行程式碼——他只是用中文描述他要什麼功能,Claude Code 就幫他把程式寫出來、跑起來、除完錯。 你可能會想:那它跟 ChatGPT 到底差在哪? 一、你說中文,它寫程式 大部分人聽到「Claude Code」就先退了一步。Code,程式碼,那不是工程師的事嗎? 試試看跟它說這句話:「幫我把這個資料夾裡所有 PDF 的檔名,整理成一份清單。」 它會自己寫一段程式碼、跑完、把清單生出來。你完全不需要看懂那段程式碼。同樣的事在 ChatGPT 上做,它會把程式碼貼給你看,然後你得自己想辦法找地方執行。 你需要學的不是程式語言,而是怎麼把需求講清楚。但光是能下指令還不夠——如果它每次只能做一件事就停下來等你,那跟比較聰明的 Siri 也沒什麼兩樣。 二、它不是聊天機器人,它是 Agent 用過 ChatGPT 或...

如果你有在使用 AI 開發 WordPress 外掛,並且要設計一些自訂的後台管理介面時,一定遇過資料送出時無法正確儲存,或是儲存後被導向到奇怪的頁面。 根據我的經驗,這十之八九是 Nonce 的問題,AI 在處理 Nonce 這一塊常常會出錯,為了讓 AI 更好地理解該怎麼處理 Nonce,這篇文章就來分享 Nonce 的作用,以及如何讓 AI 不要再犯這種錯。 Nonce 是為了擋 CSRF 而生的 所謂的 Nonce,最主要的功能是要防止跨站請求偽造(也就是俗稱的 CSRF)。 CSRF 主要的攻擊方式,是攻擊者誘導已經登入受害者的瀏覽器,自動發送請求到你的網站,也就是說,攻擊者不需要入侵你的網站,只要你的瀏覽器在登入狀態下點擊了惡意網址,攻擊就會開始。 舉個例子: 站長登入了某個 WordPress 網站的後台沒登出,繼續開著分頁 站長切換到另一個由惡意攻擊者準備好的頁面,這個惡意頁面藏了一段惡意程式 程式裡面的連結會指向站長 WordPress 後台 瀏覽器在送出這個請求時,會自動帶上站長已經登入的 Cookie(因為原本分頁沒關) 站長踩到這個惡意網址、讀到那段...

這禮拜的主題比較硬一點,但如果你有在用 AI 開發外掛然後想讓自己的 Antigravity 或是 Claude Code 讀到網站的內容像是查訂單,這篇教學就非常適合貼給 AI 請它幫你開發~ 話說之前做 DWP 的 LINE 聊天機器人查 WooCommerce 訂單,會員可以直接在 LINE 裡問訂單狀態、查活動,背後是 OpenAI 的 Function Call 在跑。整個架子是自己刻的——每一個會員問句能對應到的後端動作,要自己定義一份 JSON Schema 告訴模型「這個工具吃什麼參數、回什麼結構」,再寫一個 dispatcher 收到 model 的 tool_calls 之後手動 routing 到對應的 WP 函式,回傳值也要自己塞回對話 context。 換一家模型供應商就要重做一次 schema 格式(OpenAI、Anthropic、Gemini 的欄位名稱都不一樣),漏處理一個錯誤路徑 LINE 那邊就吐出一堆奇怪的字。一份「查訂單狀態」的能力,被綁死在這個 LINE Bot 專案裡,搬不到別處用。 直到 WordPress 6.9 把...

昨天在處理一位客戶主機被駭過重灌之後,CPU 還是異常飆高的狀態,但因為主機權限不在客戶這邊,僅能就有限的資訊來進行評估 CPU 飆高的問題,為了避免你的客戶可能也遇到類似的問題,我整理了幾個 WP 網站容易被攻擊的地方以及對應方式~ 一、弱密碼檢查:駭客最便宜的入侵方式 弱密碼指的是被列在常見密碼字典裡的那種——admin123、P@ssw0rd、你的網站名+2024,攻擊者不會猜你的密碼,他們會拿一份幾百萬筆的字典檔對你的登入頁瘋狂測試,直到猜對為止。 WordPress 預設有個叫 wp-login.php 的登入頁,全世界都知道在哪,攻擊者每天用機器人跑遍所有 WordPress 站台,掃出弱密碼的帳號就能直接登入。 如何預防弱密碼攻擊 對不想碰命令列的站長來說,三個外掛任選一個就能解決: Solid Security https://tw.wordpress.org/plugins/better-wp-security/ 免費版就有「Weak Password...

久違的電子報,最近如何啊?我分享一下我今年遇到的狀況: 當所有人都能用 AI 寫程式,工程師剩下的價值是判斷力、領域經驗,以及那些 AI 還沒搜尋得到的最新漏洞與真實攻擊行為,這些都不在模型的訓練資料裡,而在每天踩坑的人身上。這是我把客戶教會自己用 AI 開發、然後親眼看著時薪被 AI 賺走兩個月之後,才慢慢想清楚的事。 把整套開發流程教給客戶之後,我發現自己被 AI 取代了 兩個月前,我把整套 AI 開發流程交給一位合作很多年的朋友,他有很多產品的想法,過去長期把開發外包給我,因為這波 AI 浪潮,他也開始想要學習著如何用進行 AI 開發。 然後我們每週約週一上午,連上四週,從軟體開發的基礎知識開始講起,然後帶著他安裝開發環境、版本控制、自動部署,再到 AI 工具的介紹與用法,最後幫他安裝好針對他的需求所設計的 Skill,現在他要做新功能,只要照著這些指令跑,產出來的東西基本上跟我自己操作 AI 做的差不多。 兩個月過去了,除非遇到主機異常或資料庫底層的問題,他 99% 的需求都能不用等我自己做掉。...

有經營 LINE 官方帳號的站長對以下情境一定不陌生:顧客在 LINE 上詢問「我的訂單什麼時候到?」但打開 LINE 官方帳號後台,看到的只是陌生的好友姓名,跟官網後台的會員名稱完全對不起來、也不知道這個 LINE 會員買了什麼、訂單狀態如何。 為了解決這個問題,我們團隊歷經三個月的開發,期間訪談了許多位第一線經營 LINE 官方帳號的電商業主,根據他們的回饋,開發出這套專為 WooCommerce 所設計的客戶管理解決方案,目前該外掛已經進入穩定期,也是我們團隊每日必用的 LINE 管理工具。 為了可以協助更多不同產業的使用情景,我們將該外掛開源出來,歡迎有需要使用的朋友自由取用,以下介紹該外掛件的主要功能: 一、好友管理 截至目前撰文當下,在 LINE 官方後台是無法主動推播訊息給新加入或是尚未傳送過訊息的好友,透過本外掛可以將新加入的好友直接匯入網站會員資料庫,即可主動傳送訊息並開始進行聊天。 好友匯入有三種方式,分別是:當好友主動傳送訊息時自動匯入、從網站會員匯入以及從 LINE 官方帳號匯入,如果搭配 LINE 登入外掛如...

在思考 Bazewp 的商業模式時,第一直覺就是可以把聯盟行銷的連結放在外掛分析頁的查看價格按鈕上面,萬一有人透過該連結購買外掛就能賺得分潤,但由於外掛實在太多,要個別去申請對應的推廣連結也是一個大工程。 於是就在想會不會有平台已經整合好這件事:只要申請該平台的帳號,就能直接開通 Kinsta 或是 Elementor 等多家 WordPress 產品的聯盟行銷資格,而不用一個一個去開帳號,然後身為主機商或是外掛開發者想要找到推廣者,也能上架該平台讓人推廣。 抱持著這樣的好奇心,第一份 WordPress 市場研究報告就決定以聯盟行銷外掛為主題,以下報告結合 Bazewp 的外掛數據,並使用 AI 的深度研究功能來獲取初稿,再經由人工驗證與潤稿,希望透過這樣的分析能找出該市場的潛在機會。 以下為報告全文: 網頁好讀版:https://oberonlai.blog/wordpress-affiliate-plugin-eco/...

時常看到新聞寫 WordPress 的市佔率全球之冠,或是今年市佔又提升了多少個百分點,每次看到我都會想,全世界到底有多少個網站是用 WordPress 做的?這些網站都是什麼類型的網站?他們都用了什麼佈景主題或外掛?甚至都是哪些產業在使用? 為了更進一步挖掘 WordPress 的生態系,我決定做一個專門搜集 WordPress 網站的網站,利用爬蟲去找出使用 WordPress 架設的網站,然後搜集佈景主題以及外掛資訊,並且使用 AI 進行分類與辨識: Bazewp.com 的主要功能介紹如下: 1. WordPress 網站搜尋 首頁的部分可以直觀的看到網站列表以及篩選工具,每個網站搜集的資訊有: 網站名稱、描述、語系、截圖、配色 產業類型、網站類型 網站關鍵字 使用的佈景主題、外掛 聯絡資訊、社群連結 在電腦板上面可以用分隔視窗查看單一網站的資訊,左側顯示網站列表,方便在瀏覽時可以快速切換,在右側邊欄展開的情下重新整理頁面,則會直接進入單一網站的介紹頁,方便後續瀏覽與分享。...

先講結論:錢燒完了、產品賣不動,明年要先接案子過活了XD 雖然產品都沒有成功,但卻累積了一些不錯的失敗,知道哪些路不能走,以及投入實戰 AI 開發後看見全新的風景與機會,這些經驗讓我對於創業不再只是停留在書本的知識,而是自己親身走過的一段路,同時也明白自己的不足,現在看到能夠在創業路上存活下來的人都打從內心敬佩萬分。 今年的收穫 今年靠賣外掛賺了 28 萬,平均一個月 23,000 元,而這全是單一外掛所達成的營收,很自然的就會想如果有第二支、第三支的話,照這節奏累積下去想要月入十萬不是夢,於是年初時便開始著手研發第二款產品。 由於第一款是做客戶訂單推播功能就有如此的成績,因此第二款延續這主軸,改以管理員為主的推播,並整合 AI 讓管理員可以用自然語言做訂單查詢,商業模式是打算先釋出免費的版本,再搭配不同的 AI 查詢項目來做收費:https://oberonlai.blog/dwp-site-assist/ 開發期間請了很多客戶幫我測試,很慶幸有先找他們,如果沒有他們幫我測試就推出絕對會是災難一場,主要發現的問題是打算拿來收費的 AI 查詢訂單功能不穩定,會因為...