iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0

上一篇我們把環境備好了,這一篇開始 Everything-WP 設計好的指令來開始設計區塊主題,我們的目標是產生一個能立刻啟用、而且從第一天就有測試和品質工具的區塊主題骨架。這件事如果手動做,得建二三十個檔案、配好 composer.json、寫 GitHub Actions、設定 PHPCS 規則等繁瑣流程,我們用 /init-theme 讓 AI 一次做完。

為什麼不從空資料夾自己開始

你可能會問區塊主題架構不是很簡單嗎?一個 style.css、一個 theme.json、一個 templates/index.html 就能跑了,何必用指令?

能跑不代表能維護。一個「認真」的主題專案除了那三個檔案外,還要有:PHPCS 幫你檢查格式、PHPStan 做靜態分析、PHPUnit 跑測試、i18n 的 .pot 讓它可翻譯、GitHub Actions 在推版時自動部署、一個 build 腳本產出乾淨的 zip。

這些是「開發工具鏈」不是主題本身,但少了它們專案很容易就會失控。/init-theme 把主題檔案和這整套工具鏈一起生出來。

比較 Create Block Theme

WordPress 官方有一套做 Create Block Theme 外掛。裝了它你能直接在網站編輯器裡開一個空白主題、複製現有主題、建立子主題,還能把你在編輯器裡改好的樣式和模板「存回」主題檔案(theme.jsontemplates/*.html),甚至管理字型、把用到的圖片收進主題、讓字串可翻譯。

這是一套很好用的工具,我自己也常用它做「把編輯器裡的視覺調整匯出成檔案」這件事。那為什麼不直接用它來開場?因為它跟 /init-theme 解決的是不同的一半。Create Block Theme 專精在「主題檔案的產生與匯出」這個設計端的循環,把你在站台編輯器的成果變成乾淨的檔案。

而我們做的剛好是反過來,先從底層開發區塊主題的角度出發,然後並把相關的開發環境與工具都一次到位,另外還有一個更貼近本系列的理由:Create Block Theme 是「在網站編輯器裡用滑鼠操作」的工具,而我們整套流程是「用 AI 在終端機裡開發」。

/init-theme 是專門設計給 Claude Code 的開發流程,建立出來的骨架 AI 全部都能接手,所以實務上我的分工是:用 /init-theme 開一個帶完整工具鏈的骨架,之後在網站編輯器裡調版面、改配色時,再用 Create Block Theme 把調整匯出回檔案。兩者不打架,各做各擅長的那一半。

實作初始化區塊主題

在 VScode 的 Claude 輸入 /everything-wp:init-theme

如果開啟的是 WordPress 的根目錄的話,它會詢問是否要建立新的區塊主題資料夾,建立好後它會先做一件重要的事:偵測模式。看目前資料夾有沒有 style.css 且帶著 Theme Name: 註解。

沒有的話就是全新專案(Greenfield);有的話就是要幫既有主題補工具(Augment),這時它不會去動你現成的範本檔。這個保護很關鍵,免得你在錯的資料夾(例如整個 themes/)誤觸,把檔案建立在錯誤的層級。

確認是全新專案後,它用 AskUserQuestion 問幾題並附上都推薦選項,多半直接按 Enter 即可:

  • 主題類型:Block theme(推薦)還是 Classic theme,我們選 Block。
  • 主題名稱 / 版本:預設用資料夾名、1.0.0
  • 描述 / 作者 / 授權:授權預設 GPL v2 or later,這是 WordPress 生態的標準。
  • PHPCS、PHPStan、PHPPUnit:程式碼品質工具
  • 還有 Requires at least、Requires PHP 這些資訊,都會產生合理預設。

它到底生了什麼

當跑完所以初始化流程後,會產生以下三類的檔案:

主題本體style.css(只放必要資訊和少量 CSS)、theme.json(全站設計元素的單一來源)、一個極簡的 functions.phptemplates/ 裡的 index.htmlsingle.htmlpage.htmlarchive.html404.html,以及 parts/ 裡的 header.htmlfooter.html

品質工具.phpcs.xml.dist(排版規則)、phpstan.neon(靜態分析,Block 主題只掃 functions.php)、phpunit.xml.disttests/(測試骨架)。

發佈工具readme.txt.github/workflows/release.yml(推 tag 自動發版)、scripts/build.php(打包 zip)。

同時它會配好 composer.json,把 PHPCS、WPCS、PHPStan、PHPUnit 這些開發相依套件都掛上去,然後跑 composer install,並用 WP-CLI 產生 languages/ 裡的 .pot

這樣之後就可以用以下指令來讓 Claude Code 自行做程式碼品質的檢查:

composer phpcs     # 排版符不符合標準
composer phpstan   # 有沒有型別/邏輯問題
composer build     # 能不能打包成 zip

回到 WordPress 後台的「外觀 → 佈景主題」,這個剛生出來的主題已經在清單裡,你可以請 Claude Code 幫你啟用,通常要啟用佈景主題需要 WP-CLI,而本機工具 Local 已經內建了,所以 Claude Code 能夠直接操作整個本機環境。

下一篇我們把這些檔案打開逐一檢視,看懂之前提到的 templatespartstheme.json 在真實的區塊主題中會有哪些內容以及如何設計

文章目錄:https://oberonlai.blog/category/2026-ithome/


上一篇
環境準備:Local、Claude Code for VSCode 與 Everything-WP 安裝
系列文
從一句話到一個網站:用 Vibe Coding 開發 WordPress Block Theme 的 30 天16
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言