想在 WordPress 文章或商品頁塞進「上映日期」「規格表」「房屋坪數」這種結構化資料,預設編輯器只給你一塊大大的內文框,根本無處可放。這時候就需要 WordPress 自訂欄位外掛,把零散資訊變成可查詢、可重複使用的欄位。問題是市面上選項一字排開,ACF、Meta Box、Pods、Toolset、JetEngine 各有擁護者,光看功能表很難分辨差在哪。
多數中文比較文章停在「功能對照表」這一層,列完欄位數量與價格就收尾,卻沒回答最關鍵的問題:你的網站到底適合哪一種資料儲存方式?資料量大了會不會拖慢查詢?以及 2024 年 ACF 被分支成 SCF 之後,現在選 ACF 還安不安全?這篇用「資料建模」的角度切入,幫你把選擇收斂到 ACF 與 Meta Box 兩個主流,再帶到實際的決策邏輯。
WordPress 自訂欄位外掛到底在解決什麼問題
自訂欄位外掛的核心工作,是讓你在編輯畫面上新增「結構化的資料輸入框」,而不是把所有東西都倒進那塊所見即所得的內文區。
WordPress 原生其實就有 post meta(文章中介資料)機制,資料會以 key-value 形式存進 wp_postmeta 資料表。但原生介面只給你一個陽春的「自訂欄位」面板,要手動輸入 meta key 跟值,沒有欄位型別、沒有驗證、沒有圖片上傳,實務上幾乎沒人這樣用。
外掛補上的,是這幾件事:
- 欄位型別:文字、數字、日期、圖片、檔案、下拉選單、關聯欄位等,各有對應的輸入介面與驗證。
- 重複群組:像商品規格、團隊成員這種「同一組欄位要填很多筆」的資料,用 repeater(重複欄位)一次解決。
- 顯示函式:提供
get_field()、rwmb_get_value()這類函式,讓你在佈景主題模板裡把欄位值抓出來顯示。 - 資料歸屬:欄位可以掛在文章、頁面、自訂文章類型、分類項目、使用者,甚至獨立的設定頁上。
換句話說,這類外掛是把「資料怎麼存、怎麼填、怎麼顯示」這三件事包成一套工作流。選哪一套,等於選定你未來幾年跟資料相處的方式。
ACF 與 Meta Box 各自的定位差在哪
一句話分野:ACF 走「視覺化、好上手、生態系最大」路線,Meta Box 走「程式碼優先、效能輕量、模組化付費」路線。
ACF(Advanced Custom Fields)由 Eliot Condon 在 2011 年發布,後來併入 Delicious Brains,目前安裝數超過兩百萬,是這個領域使用者最多、第三方整合最完整、教學文章最豐富的外掛。它最強的賣點是開發者體驗:欄位群組在後台用拖拉介面建立,get_field() 與 the_field() 函式乾淨好記,也原生支援把欄位群組匯出成 PHP 陣列或 JSON 進版控。
Meta Box 由 eLightUp 團隊在 2010 年推出,安裝數約七十萬,是同類第二大的外掛。它採程式碼優先的設計哲學,免費核心外掛提供基礎,其餘功能用模組化的付費擴充逐項加上去,這代表你只載入真正會用到的功能,網站維持精簡。Meta Box 內建超過四十種欄位型別,比同類都多。
兩者一個明顯差異是欄位建立介面。ACF 免費版就附視覺化建欄位介面;Meta Box 核心預設沒有 UI,使用者要嘛寫程式碼定義欄位、要嘛用官方線上產生器、要嘛另外購買 MB Builder 擴充。對不寫程式碼的人來說,ACF 的進入門檻明顯低一截。
下面這張表把幾個最常拿來比較的面向整理出來,數字以官方目前公布的版本為準:
| 面向 | ACF | Meta Box |
|---|---|---|
| 推出年份 | 2011 | 2010 |
| 安裝數 | 200 萬以上 | 70 萬以上 |
| 免費欄位型別 | 約 30 種 | 約 40 至 50 種 |
| 建欄位視覺介面 | 免費版內建 | 核心沒有,需擴充或線上產生器 |
| 自訂文章類型 / 分類 | 需另裝(或免費版內建管理) | 免費擴充 |
| 重複欄位 | Pro 版才有 | 群組欄位(付費擴充) |
| 自訂資料表 | 原生不支援,需第三方擴充 | 支援(MB Custom Table 擴充) |
| 條件式欄位邏輯 | 免費版內建 | 付費擴充 |
| 授權模式 | 年費,無終身版 | 年費 + 終身版 |
資料存在哪裡,決定了大型網站會不會變慢
這是最容易被中文比較文章跳過、卻最影響長期效能的關鍵:兩套外掛把資料存進資料庫的方式不同。
預設情況下,兩者都把欄位值存進 WordPress 通用的 wp_postmeta 資料表,以 key-value 形式存放。差別在於:ACF 每一個自訂欄位會在 wp_postmeta 寫入兩筆紀錄,一筆放 key、一筆放對應的參考值;Meta Box 則傾向一個欄位寫一筆。欄位一多、文章一多,這個倍數差異會讓 ACF 的中介資料表膨脹得比較快。
wp_postmeta 是一張「萬用」資料表,沒有針對你的特定欄位建索引,當網站累積到數千篇文章、每篇又掛幾十個自訂欄位時,靠 meta 條件查詢(例如「篩出售價低於某金額的全部商品」)就可能變慢。這不是哪個外掛寫得爛,而是 key-value 結構本身在大量結構化資料下的先天限制。
Meta Box 提供的解法是 MB Custom Table(自訂資料表)這個付費擴充:它把欄位資料存進專屬的資料表,而不是塞進 wp_postmeta。專屬資料表可以針對你的欄位設計欄位結構與索引,查詢效能明顯提升,也避免通用表膨脹。值得注意的是,編輯端的填寫流程與欄位外觀完全不變,最佳化全在後台儲存與讀取時悄悄發生。
ACF 原生沒有自訂資料表功能,市面上有第三方付費擴充可以補上類似能力,但畢竟不是官方內建,導入前要評估維護風險。
判斷原則其實不複雜:
- 一般部落格、形象網站、欄位數量不多:用
wp_postmeta完全沒問題,效能差異幾乎感受不到,不用為了這點挑外掛。 - 資料密集型網站(房產目錄、職缺看板、有大量規格欄位的電商):自訂資料表的價值才會浮現,這時 Meta Box 的儲存策略是加分項。
換句話說,效能不是用來嚇人的萬用理由,而是要對應你的實際資料規模再來權衡。
重複欄位、關聯與自訂文章類型,免費版各能做到哪裡
要看清楚免費與付費的界線,得逐項拆開「進階功能在哪個版本才解鎖」,因為這直接影響你的實際預算。
重複欄位是第一個分水嶺。ACF 的 Repeater 欄位被歸在 Pro 版,免費版做不出「同一組欄位重複多筆」的結構,而這在真實專案裡幾乎是必備,等於多數案子一開始就得買 Pro。Meta Box 沒有叫做 repeater 的欄位,但它用付費擴充提供具備重複功能的「群組欄位」,效果相近。兩家在這項都是要付費。
自訂文章類型與分類是第二個差異點。ACF 本身的重心是欄位,建立自訂文章類型過去要搭配像 Custom Post Type UI 這類另外的外掛(近期版本也加入了相關管理功能)。Meta Box 則用免費擴充就能管理自訂文章類型與分類。如果你的網站需要「商品」「課程」「活動」這種獨立內容類型,記得把這塊的外掛依賴一起算進去。
關聯欄位處理的是內容之間的連結,例如把一篇「導演介紹」關聯到多部「電影」。ACF 的雙向關聯在 Pro 版,Meta Box 則用 MB Relationships 付費擴充提供雙向關聯。
條件式邏輯讓欄位依條件顯示或隱藏,例如選了「類型 = 影片」才出現「影片網址」欄位。這項 ACF 免費版就內建,Meta Box 要付費擴充,是少數 ACF 免費版反而領先的地方。
把這些攤開後會發現,所謂「免費」很少是真的全免費,重點是看你要的功能落在哪一側,再回推實際成本。
兩者授權與長期成本怎麼算才划算
選授權方案的關鍵不是單看標價,而是看你會經手幾個網站、要不要終身持有。
ACF 採年費制,把全部 Pro 功能包成單一產品,付一次就全拿,定價結構單純:單站約一年 49 美元,無限網站約一年 249 美元,沒有終身版。
Meta Box 採模組化策略,授權分多個層級且提供終身版。核心套組一年約 49 美元起,含部分擴充;要全部擴充的開發者套組約一年 229 美元;終身授權則從約 299 美元(少數網站)到約 699 美元(無限網站)不等,個別擴充也能單買。
兩種模式各有適用對象:
- 只經營一兩個網站、想一次買齊不囉嗦:ACF Pro 全功能單一包反而省心,不用研究要買哪幾個擴充。
- 接案者或代理商、長期會做很多站:Meta Box 的終身授權攤提下來通常更划算,而且可以只買真正用到的擴充,不為用不到的功能付費。
成本這件事沒有標準答案,先盤點你的網站數量與使用年限,再去對應方案,比單看「誰比較便宜」務實得多。
ACF 被分支成 SCF 之後,現在選它還安全嗎
這是 2024 年之後選 ACF 一定要先搞懂的背景,否則容易在不知情下做出有風險的決定。
時間線是這樣:2022 年 WP Engine 透過收購 Delicious Brains 取得 ACF。2024 年 10 月,WordPress 共同創辦人 Matt Mullenweg 宣布把 ACF 分支(fork)成一個名為 Secure Custom Fields(SCF)的新外掛,理由是 WordPress 安全團隊對 ACF 處理商業推廣與一個潛在安全漏洞有疑慮。分支後,WordPress.org 把原本指向 ACF 的官方外掛目錄項目改為 SCF,等於自動把目錄上數百萬使用者的更新導向 SCF。這一切發生在 WP Engine 與 Automattic 之間持續進行的法律爭議脈絡下。
對實際使用者來說,需要釐清的是現在這幾個東西的差別:
- ACF / ACF Pro:仍由 WP Engine 維護與發布,Pro 版的進階功能(Repeater、Flexible Content、Options Pages 等)持續存在。要繼續用官方 ACF,現在多半從 WP Engine 自家管道取得,而非 WordPress.org 目錄。
- SCF(Secure Custom Fields):由 WordPress.org 維護、免費、移除了商業推廣、補上安全強化。它是從 ACF 分支出來的,基礎功能與 ACF 相容。
實務上的判斷:
- 如果你正在用免費版 ACF 且從官方目錄安裝,更新後很可能已經被切換到 SCF,欄位資料一般可沿用,但要留意未來兩邊功能可能逐漸分歧。
- 如果你重度依賴 ACF Pro 的進階欄位,付費功能在 ACF 這邊,得確認你的取得管道與授權狀態。
- 如果你在意「官方長期維護、免商業包袱」,SCF 是一條值得評估的免費路線。
這場分支也凸顯了一個更根本的問題:把資料建模綁在單一商業外掛上,本來就帶有平台風險。下一節談的「鎖定成本」正是延伸自這個教訓。
換外掛的鎖定成本,比你想的更高
最常被忽略、卻在後期最痛的,是「資料被特定外掛綁住」這件事。選外掛時要把日後可能要遷移的成本一起算進去。
問題的根源在於:每套外掛存進 wp_postmeta 的 meta key 命名規則不同,repeater 這類複雜欄位的內部序列化格式也各家有別。你在 ACF 裡建的欄位,資料是用 ACF 的方式寫進資料庫的;哪天想換成 Meta Box,舊資料不會自動長成 Meta Box 認得的樣子。前台模板裡所有 get_field() 也得改寫成 rwmb_get_value()。
這帶來幾個實際後果:
- 欄位定義可移植性:ACF 能把欄位群組匯出成 PHP 或 JSON 進版控,換機器、上線部署都好搬;這一點對團隊協作與環境一致性很有幫助。
- 既有資料的遷移:欄位定義好搬,但已經填進去的「內容資料」不會跟著轉格式,通常得寫腳本搬移或人工重建,文章量大時成本很可觀。
- 自訂資料表的雙面性:用了 Meta Box 自訂資料表,效能好處明顯,但資料離開了通用的
wp_postmeta,將來要遷出時就得另外處理那張專屬表的轉換。
務實的做法是:
- 新站、還沒大量內容:選一套就盡量定下來,前期換成本低。
- 客戶交付的專案:選生態系最大的那套(多數情況是 ACF),因為日後接手的開發者最可能懂它,這也是 ACF 在接案市場長年穩居首選的原因。
- 長期高流量、資料密集:願意接受一定鎖定來換效能(例如 Meta Box 自訂資料表)是合理取捨,但要事先想清楚退場路徑。
選自訂欄位外掛,本質上是在替網站的資料層做一次架構決策,而架構決策的代價總是延後才浮現。
從你的網站類型,回推該選哪一套
把前面所有面向收斂成一句可操作的建議:先認清你的網站屬於哪一型,答案多半就清楚了。
個人部落格、形象官網、欄位數量少:直接用 ACF(或它分支出的 SCF)。視覺化介面好上手,免費版的條件式邏輯已堪用,wp_postmeta 的效能在這個規模毫無壓力,不需要為了用不到的自訂資料表去扛 Meta Box 的學習曲線。
WooCommerce 電商、要替商品加結構化規格:兩套都能勝任,把額外規格、保固資訊、產地等存成自訂欄位再顯示到商品頁。若商品數量上看數千、又要靠規格做篩選查詢,Meta Box 的自訂資料表能讓查詢更穩;商品量普通的話,ACF 配 WooCommerce 的整合資源更現成。要提醒的是,自訂欄位處理的是「商品的資料呈現」,跟金流、結帳流程是兩回事,別把它當成收款功能來用。
房產目錄、職缺看板、活動資料庫等資料密集型:這類網站欄位多、資料量大、又重度依賴條件查詢,正是自訂資料表發揮價值的場景,Meta Box 的儲存策略在這裡是實打實的加分。
接案交付給客戶的網站:優先 ACF。日後不論誰接手,懂 ACF 的開發者最多,教學與第三方整合也最完整,交接風險最低。
預算極度有限:可以把 Pods 這類完全免費、且把自訂文章類型、分類、關聯、自訂資料表一次包齊的方案納入評估,代價是介面較舊、社群與教學資源比 ACF 少。
說到底,WordPress 自訂欄位外掛沒有一套「最強」的標準答案。ACF 贏在生態系與易用度,Meta Box 贏在效能與授權彈性,差別只在於誰更貼合你這個專案的資料規模與團隊技術力。先把網站類型、預估資料量、會不會用 ACF Pro 的進階欄位這三件事想清楚,再回頭看上面的對照,你會發現選擇其實比想像中收斂得快。下一步,就拿一個真實的內容類型動手建幾個欄位試填,跑一遍從建模到前台顯示的流程,紙上比較永遠不如實際跑過一輪來得有感。