版本發佈 — 本文介紹 7.0 版本的主要變更與開發者注意事項。
WordPress 7.0 是一次里程碑式的大版本更新:首次將 AI 能力系統性地引入核心架構,並完成了管理後台的全面現代化改造。本次發佈共包含 419 個 Core Trac 工單,其中 76 個為增強和新功能請求,超過 300 個 bug 修復;40 餘個工單聚焦於編輯器,90 餘個聚焦於 wp-admin。來自 Gutenberg 插件的 411 個增強 和 486 個 bug 修復 也被合併入 Core,覆蓋編輯器、儀表盤和 AI 集成各個層面。
本文面向開發者,按五大主題梳理 7.0 中最重要的技術變更與不兼容變更(breaking changes):AI 基礎設施、管理後台現代化、創意定製工具、設計工具增強和開發者工具箱,最後補充無障礙改進與其他亮點。本指南發佈於 7.0 的 Release Candidate(RC)階段,旨在幫助開發者提前瞭解變更並做好適配準備。
一、AI 基礎設施:WordPress 進入智能時代
WordPress 7.0 首次內置 AI 能力,採用與供應商無關(provider-agnostic)的架構設計,讓站點所有者可以自由選擇和切換 AI 服務商。這一基礎設施的鋪設只是起點——未來還將引入自主代理(agentic collaborator)等更高級的功能。
WP AI 客户端(WP AI Client)
WP AI 客户端為 WordPress 提供了一箇中央接口,允許插件與生成式 AI 模型通信,無需關心底層供應商。請求路由由 WordPress Core 統一處理。API 密鑰通過 Connectors API 集中管理,在 設置 > 連接器(Settings > Connectors)頁面中配置。系統預置若干模型,用户也可以添加自己偏好的模型。
Abilities API 直接集成在 WP AI 客户端內,支持將多種 AI 能力串聯為工作流(workflow),一個接一個自動執行。
插件開發者可以利用新的 using_model_preference() 函數聲明模型偏好順序,並通過功能檢測(feature detection)匹配可用模型的對應能力,從而降低調用成本、縮短處理時間。AI 客户端還提供一系列高級配置選項,以及 WP_AI_Client_Prompt_Builder 類用於方法調用。為簡化升級,wordpress/wp-ai-client 包可自動處理向 7.0 的過渡。
客户端 Abilities API(Client-Side Abilities API)
7.0 將 Abilities API 擴展到 JavaScript 端,提供 @wordpress/core-abilities 和 @wordpress/abilities 兩個包,涵蓋新能力和混合能力(hybrid abilities),並配有直觀的 UI、命令面板(command palette)以及篩選和查詢功能。
插件開發者可通過引入 @wordpress/core-abilities 自動拉取並註冊服務端能力(通過 REST API),也可以僅引入 @wordpress/abilities 來處理插件自身的客户端能力。註冊後的能力按可自定義的分類組織,能力和分類都可以通過 PHP API 註銷。系統支持元數據註解(meta data annotation),core/abilities 提供 useSelect 用於 React 組件中的響應式查詢。
AI 連接器頁面(Connectors Screen)與連接器 API(Connectors API)
在儀表盤的 設置 > 連接器 中,全新的連接器管理頁面集中展示所有已註冊的連接器及其註冊元數據,以卡片形式呈現。系統默認內置三個供應商:Anthropic、Google 和 OpenAI,用户也可以自行配置連接。
Connectors API 是連接器頁面的底層擴展機制,支持代理(agent)的接入。API 根據供應商元數據支持兩種認證方式(api_key 和 none),設計上預留了未來擴展更多連接器類型的空間。Connectors API 利用 WP AI 客户端的默認註冊表自動發現供應商,通過對應元數據生成連接器;非標準認證方式的連接器存儲在 PHP 註冊表中。開發者可通過 wp_connectors_init 動作(action)覆蓋連接器元數據,這將成為後續版本註冊新連接器類型的核心接口。API 提供三個公共函數用於查詢註冊表,前端 UI 可通過客户端 JavaScript 註冊進行自定義。
二、管理後台現代化
7.0 全面升級了 WordPress 管理後台的視覺與交互體驗。新的 “Modern” 配色方案貫穿整個儀表盤,View Transitions API 帶來平滑的頁面切換動畫,新增的命令面板快捷入口讓工具觸手可及,字體管理獨立成頁,可視化修訂讓編輯歷史一目瞭然。
新後台配色方案 “Modern”
名為 “Modern” 的新後台主題全面刷新了配色、對比度和字體排版(typography)。後台頭部、定製器(Customizer)、配色選擇器、腳本加載器、各類用户函數,乃至多站點(multisite)用户註冊頁面,都換上了新皮膚。
View Transitions 在 wp-admin 中的應用
7.0 在 wp-admin 中引入了跨文檔視圖過渡(cross-document view transitions)。從菜單切換頁面時,內容以平滑的滑動效果切換。每個後台菜單項使用獨立的過渡名稱(transition name),當活動子菜單在頁面間變化時觸發過渡動畫。出於無障礙考慮,如果操作系統層面設置了”減少動態效果”(reduced motion)偏好,視圖過渡將不會被激活。
命令面板快捷入口
管理員和登錄用户在頂部工具欄右側可以看到一個新的 Cmd+K(Mac)或 Ctrl+K(Windows)圖標。點擊後展開命令面板(command palette),可從後台任意位置快速訪問編輯工具集。
字體庫(Font Library)
字體庫在 7.0 中擴展為獨立的字體管理頁面。團隊成員可在同一處管理、上傳、安裝字體,適用於區塊主題(block theme)、混合主題(hybrid theme)和經典主題(classic theme)。
可視化修訂(Visual Revisions)
7.0 讓修訂版本的查看變得直觀。用户可以在編輯器中通過滑塊(slider bar)直觀對比兩個修訂版本的差異,文檔檢查器(document inspector)顯示變更摘要,每個變更位置標註了顏色和改動大小,點擊即可跳轉到對應位置。
iframe 編輯器(Iframed Editor)
在 7.0 中,當文章裏所有區塊(blocks)均使用 Block API v3 或更高版本時,文章編輯器將強制採用 iframe 模式,提供更穩定的編輯體驗。如果存在低於 v3 的區塊,iframe 將被移除以確保向後兼容。
三、創意定製工具
7.0 在創意定製方面提供了更精細的控制力,包括移動端導航疊加層自定義、區塊級別的響應式可見性控制,以及區塊樣板(Pattern)編輯模式的全面增強。
移動端自定義導航疊加層(Navigation Overlays)
漢堡菜單的疊加層(overlay)現在可以通過站點編輯器(Site Editor),用區塊和樣板自由構建。新增的 Navigation Overlay Close 區塊允許在疊加層內任意位置放置並樣式化關閉按鈕。用户和主題作者可以靈活定義移動端導航體驗,支持原地疊加層選擇和預覽。主題還可以提供默認模板以加速設置。
響應式編輯模式(Responsive Editing Mode)
7.0 引入了基於設備類型的區塊可見性控制。編輯者可以按設備隱藏或顯示區塊,互不影響其他視口(viewport)。可見性選項的彈窗入口分佈在區塊工具欄、區塊檢查器側邊欄和命令面板三處。在列表視圖(List View)中,設置了可見性規則的區塊旁會顯示圖標,標明該區塊在哪些視口上被隱藏。
7.0 還支持在不同斷點(breakpoint)下設置不同樣式,並允許自定義斷點尺寸。
區塊樣板編輯與 contentOnly 編輯模式
7.0 對樣板編輯的改進包括:自定義區塊支持樣板覆蓋(Pattern Overrides)、區塊樣板級別的編輯模式(分別針對上下文樣板和符號樣板)、按鈕和列表區塊的父子樹視圖(parent-child tree view),以及選擇退出 contentOnly 模式的能力。
contentOnly 模式此前已在部分樣板中應用,7.0 將其設為默認行為,範圍也進一步擴大。對於不希望受此限制的未同步樣板(unsynced patterns),可通過新的 disableContentOnlyForUnsyncedPatterns 設置或 block_editor_settings_all PHP 過濾器(filter)選擇退出。
如果某個區塊嵌套在 contentOnly 樣板中,插件開發者需要在 block.json 中將代表區塊內容的屬性(attributes)標註 "role": "content"。這樣做可以保留區塊的可編輯性,避免其在列表視圖中被隱藏。
區塊開發者現在可以在 block.json 中添加 "listView": true 的區塊支持聲明。這會在區塊檢查器中新增一個 “List View” 標籤頁,展示該區塊的專屬視圖,方便編輯者更新和自定義。
樣板覆蓋支持自定義區塊
支持區塊綁定(Block Bindings)的區塊屬性現在也支持樣板覆蓋。樣板覆蓋適用於任意區塊(包括自定義區塊),可通過 block_bindings_supported_attributes 過濾器選擇加入。屬性值會呈現在渲染後的區塊標記中——無論動態區塊還是靜態區塊。如果靜態區塊的屬性複雜度超出 HTML API 的處理範圍,可使用 render_callback() 函數確保綁定屬性值正確渲染。
四、設計工具增強
7.0 在區塊和設計工具層面帶來了多項新增能力:新的標題區塊(Headings Block)、圖標區塊(Icons Block)和麪包屑區塊(Breadcrumbs Block);相冊區塊(Gallery Block)新增燈箱(lightbox)支持;導航鏈接區塊(Navigation Link Block)新增動態 URL 支持;段落支持文本縮進(text indent)和分欄佈局;尺寸支持(dimensions support)加入預設值和寬高比控制。
區塊級自定義 CSS
在 7.0 中,你可以為頁面上的單個區塊直接編寫自定義 CSS,實現逐塊級別的精細樣式控制。
標題區塊(Headings Block)
新的 Headings Block 包含所有標題級別(H1-H6)的變體(variation),支持在側邊欄檢查器中快速切換級別、快速轉換,並在搜索和斜槓插入器(slash inserter)中顯示。
麪包屑區塊(Breadcrumbs Block)
新的 Breadcrumbs Block 自動反映站點的導航層級,可在主題頭部等站點局部(site parts)中全局應用。新增的過濾器允許開發者添加、移除、修改麪包屑路徑,並指定路徑中出現的分類法(taxonomy)和術語(terms)。
導航區塊(Navigation Block)
導航區塊的編輯體驗得到改善:插入操作更流暢,樣板編輯和 ContentOnly 模式支持交互 API,捆綁頁面項(bound page items)的呈現方式也獲得了優化。
Cover 區塊支持視頻嵌入
Cover 區塊(封面區塊)現在支持將視頻嵌入為區塊背景。
相冊區塊(Gallery Block)燈箱支持
相冊區塊新增燈箱功能,附帶幻燈片放映選項。插入相冊後,點擊鏈接圖標,選擇”點擊放大”即可啓用。
段落區塊新增 <p> 區塊支持
段落(Paragraph)區塊中的文本現在可以排成多欄佈局,並引入了可選擇加入的 textIndent 排版支持(typography support)。
關於新增和改進區塊的完整清單,參見:
尺寸支持增強
7.0 在尺寸支持方面有若干增強。高度和寬度區塊支持、段落文本縮進支持、預設值(presets)支持均已就位;core/button 區塊新增偽元素支持,覆蓋 ':hover'、':focus'、':focus-visible'、':active' 四種狀態,可在 theme.json 層面配置。theme.json 中新增了寬度、高度和最小高度的預設尺寸值,區塊變體也可以控制相同的偽元素。定義一組尺寸預設後,不必再跨多個區塊手動設值。
五、開發者工具箱
7.0 為開發者提供了一套豐富的工具集:PHP 端純代碼註冊區塊、增強的 Interactivity API、新的插件列表過濾器,以及為可擴展站點編輯器打下的基礎架構。
PHP 端純代碼區塊註冊(PHP-Only Block Registration)
7.0 允許開發者直接在服務端用 PHP 創建區塊和樣板,通過 Block API 註冊。當區塊聲明中包含 'supports' => array( 'autoRegister' => true ) 以及渲染回調函數(render callback)時,區塊會被自動註冊,並通過 JavaScript 全局變量暴露給客户端。PHP 註冊的區塊屬性可在編輯器中編輯,檢查器控件從屬性中自動生成。對於 PHP 自動註冊的區塊,系統會自動添加 DataForm 檢查器控件。這種純 PHP 表示形式也支持樣板創建和語法綁定。
Interactivity API(交互 API)
@wordpress/interactivity 包新增 watch() 函數,該函數訂閲回調函數中訪問的任何信號(signal),並在這些信號發生變化時重新執行回調。對應的 data-wp-watch 指令可綁定到 DOM 元素的生命週期中,響應狀態變化。另外,state.url 值現在於指令處理期間由服務端填充,並在首次客户端導航發生之前保持不變。
DataViews 與 DataForms
新增 Activity 佈局和 Details 佈局,模態框外觀改進,Field API 支持註冊第三方類型。
區塊綁定 API 迭代
區塊綁定與樣板覆蓋功能進一步增強,支持按格式(format)篩選可用屬性源,並與 Field API 對齊。
新插件列表過濾器
get_views() 中新增了 plugins_list_status_text 過濾器,允許自定義篩選標籤。通過 plugins_list 添加的自定義狀態現在會以標籤頁(tabs)形式顯示,用於篩選相關插件。標籤頁的文本可使用 plugins_list_status_text 鈎子(hook)自定義。
站點編輯器構建與路由
7.0 為可擴展的站點編輯器奠定了基礎:路由驗證、新的 @wordpress/boot 包(允許插件構建自定義站點編輯器頁面),以及重構後的 @wordpress/scripts(支持從目錄構建,減少對 Webpack 的依賴)。
六、額外開發者福利
以下變更覆蓋 Core 的多個方面,體現了 WordPress 為開發者打造靈活基礎架構的持續投入。
區塊鈎子(Block Hooks)支持類內容自定義文章類型
區塊鈎子邏輯已從各文章類型獨立過濾器遷移到 REST 控制器中統一處理。
更安全的用户註冊機制
後台 設置 > 常規 的新用户默認角色選擇器中,管理員(Administrator)和編輯(Editor)角色已被移除。站點健康(Site Health)功能會在更新前檢查是否曾選擇了這些高危角色併發出告警。新增的 default_role_dropdown_excluded_roles 過濾器允許開發者自定義排除的角色列表。
CodeMirror 升級到 v5
CodeMirror 編輯器已升級到最新的 v5 版本。CSSLint、HTMLHint 和 JSONLint 同步升級,Esprima 替換為 Espree 以支持 ES6 語法和 JavaScript 代碼檢查。
外部庫更新
- Backbone.js 已升級 到最新版本 1.6.1。
- Requests 庫從 2.0.11 更新到 2.0.17。
PHP 版本變更
- WordPress Core 最低 PHP 版本要求提升至 7.4。
- PHPMailer 更新 至 7.0.2 版本,修復了一個發件人地址的 bug。
七、無障礙改進
7.0 包含多項無障礙(Accessibility)改進。登錄密碼重置流程現在會預填充用户名,以符合 WCAG 2.2 標準。新增的 wp_get_image_alttext() 函數可以從圖片的 IPTC 元數據中導入替代文本(Alt text)。.screen-reader-text 類新增了 word-break 屬性,確保屏幕閲讀器不會將隱藏文本逐字母朗讀。如前所述,視圖過渡僅在未設置”減少動態效果”時激活。
兩個函數現在通過新的 $use_title_attr 參數可以移除 title 屬性,三個作者鏈接函數默認不再輸出 title 屬性。
八、更多亮點
除上述主要特性外,7.0 還包含 超過 300 個 Core bug 修復、486 個 Gutenberg bug 修復、77 個增強和功能請求 以及 35 個已批准任務,均已標記為在 WordPress 7.0 中修復。以下摘錄部分值得關注的變更:
- 站點健康:OPCache 信息已添加到 站點健康 > 信息 > 服務器 中(Trac #63697)
- 編輯器:樣板保存時添加名稱/描述元數據(Trac #64123)
- 腳本加載器:允許腳本依賴模塊(Trac #61500)
- 腳本加載器:HTML5 腳本主題支持已棄用並移除(Trac #64442)
- 常規:允許在
WP_DEBUG非真值時掛鈎wp_trigger_error()(Trac #60886) - 多站點:將賬户標記為垃圾信息時不再自動將對應網站標記為垃圾信息(Trac #61146)
- 主題:PHP 8.1 棄用通知處理(Trac #64864)
- 編輯器:所有組件的底部邊距已移除,無邊距樣式成為默認(GB #39358)


發表回覆