WordPress 7.0 發佈倒計時:核心變更全面解析

Chair

版本發佈 — 本文介紹 7.0 版本的主要變更與開發者注意事項。

WordPress 7.0 正式發佈在即。本次更新共包含 超過 419 個 Core Trac7 工單和 Gutenberg1411 項增強與 486 個 Bug 修復。本文基於官方 Field Guide,梳理開發者最需要關注的變更。

未來的 AI 構建模塊

WordPress 7.0 開啓了全新篇章,內置 AI 集成能力。與供應商無關的架構讓你完全掌控各項單元和能力——能力是指執行一種或多種任務的權限。通過 current_user_can 函數檢查用户是否擁有某項能力。WordPress 站點的每個用户根據其角色可能擁有某些權限,但不具備其他權限。例如,擁有作者角色的用户通常有權編輯自己的文章(edit_posts 能力),但無權編輯其他用户的文章(edit_others_posts 能力)——同時還能利用 AI 帶來的無限可能。這些關鍵的構建模塊只是起點,為智能協作夥伴和更多功能鋪平道路。

WP AI 客户端

WordPress 7.0 在網站中直接解鎖了 AI 能力。新的 WP AI 客户端提供了一箇中央接口,讓插件能夠與生成式 AI 模型通信,同時保持與供應商無關。WordPress 核心為你處理請求路由。在 設置 > 連接器 界面中管理,API 密鑰通過連接器 API 傳入,你可以從一些預設模型開始,並添加自己偏好的模型。

作為額外福利,能力 API 直接集成到 WP AI 客户端中,提供全新且廣泛的 AI 能力,這些能力可以構建到工作流中,讓能力一個接一個地流暢運行。

插件開發者可以使用新的 using_model_preference() 函數,按偏好順序指定要使用的模型,然後添加功能檢測以匹配可用模型的能力——從而降低成本並加快處理速度。AI 客户端包含一系列高級配置控件,以及一個用於調用方法的 WP_AI_Client_Prompt_Builder 類。為了便於升級,wordpress/wp-ai-client 包會自動處理向 7.0 的過渡。

WordPress 7.0 中的 AI 客户端介紹

客户端能力 API

WordPress 7.0 在 Abilities API 的基礎上進一步擴展,引入了對應的 JavaScript 版本:客户端能力包(Client-Side Abilities)。該包提供了新的混合能力、直觀的用户界面、命令面板,以及過濾和查詢功能。

插件開發者可以通過加載 @wordpress/core-abilities 自動通過 REST API2 獲取並註冊服務端能力,也可以只加載 @wordpress/abilities 來處理插件自身的客户端能力。註冊後的能力會按可自定義的分類進行組織,同時 PHP10 API 也支持取消註冊能力和分類。此外,該包支持元數據註解,core/abilities 還提供了 useSelect,方便在 React4 組件中進行響應式查詢。

WordPress 7.0 中的客户端能力 API

AI 連接器管理頁面

新的連接器管理頁面讓你可以在一個地方管理所有 AI 提供商的連接。該頁面位於儀表盤的 設置 > 連接器 下,提供了管理連接所需的全部功能。已註冊的連接器會自動顯示在頁面上,並以卡片形式展示詳細的註冊元數據。連接器頁面默認包含三個提供商:Anthropic、Google 和 OpenAI,同時也允許用户配置自己的連接。

[⌊WP 7.0 連接器管理頁面⌉⌊WP 7.0 連接器管理頁面⌉

連接器 API

連接器 API 是連接器頁面的核心,它是一個可擴展的 API,用於支持智能體的接入。

該 API 支持兩種認證方式(api_keynone),具體取決於提供商元數據,並且設計上為未來版本支持更多連接器類型做好了準備。Connectors API 利用 WP AI Client 的默認註冊表來自動發現提供商,並通過對應的元數據生成連接器;而通過其他方式認證的連接器則存儲在 PHP 註冊表中。你可以使用 wp_connectors_init 動作來覆蓋連接器元數據,這將是未來版本註冊新連接器類型的關鍵。該 API 提供了三個公共函數用於查詢註冊表,前端 UI 也可以通過客户端 JavaScript 註冊進行自定義。

WordPress 7.0 中的 Connectors API 介紹


現代化的儀表盤

WordPress 7.0 帶來了升級的管理員(及超級管理員)體驗,包括一套名為“Modern”的時尚新配色方案、儀表盤各處的多項增強,以及在頁面間導航時無縫的視覺過渡。頂部工具欄新增了一個命令面板快捷鍵,讓你可以從儀表盤的任何位置快速訪問工具;同時,一個全新的字體管理專用儀表盤頁面集中並簡化了字體管理。增強後的 iframe 文章編輯器讓界面更穩定,編輯者可以在區塊上留下評論、接收筆記通知,甚至直觀地對比兩個修訂版本。

新的管理員配色方案與樣式

WordPress 管理後台因一套全新的、時尚的儀表盤配色方案而煥然一新。新的 Modern 管理主題已應用於管理員頭部、定製器(Customizer,WordPress 核心內置的工具,可掛鈎大多數現代主題,用於預覽和修改網站外觀設置)、配色方案選擇器、腳本加載器、各種用户函數,甚至多站點(Multisite,指安裝有多個博客網絡的 WordPress 站點,共享用户表,併為每個博客創建獨立的數據庫表)的用户註冊界面也經過了重新設計。Modern 主題簡潔且護眼,擁有煥然一新的調色板、更高的對比度以及升級的排版,提升了管理體驗。

WP 管理後台中的視圖過渡

在 WordPress 7.0 中,儀表盤的導航體驗更加流暢。當你在 wp-admin 中移動時,用户視圖會在不同屏幕之間平滑滑動。跨文檔視圖過渡為管理菜單項使用了不同的過渡名稱,以實現這種簡單的視覺滑動效果,當活動子菜單在不同屏幕間切換時觸發。考慮到所有用户,視圖過渡僅在操作系統層面未設置“減少動效”偏好時才會激活。

命令面板快捷鍵

通過新的命令面板快捷鍵,只需一次點擊即可從儀表盤任意位置訪問編輯工具集。WordPress 7.0 為登錄用户在頂部工具欄中提供了一個 ⌘KCtrl+K 圖標,點擊即可展開命令面板。這一新快捷鍵可加速編輯操作,讓你在儀表盤的任何位置——無論是構建、設計還是瀏覽筆記時——都能完全掌控。

字體庫

WordPress 7.0 中的字體庫得到了擴展,新增了專門的字體管理頁面。現在,你和你的團隊可以在一個地方管理、上傳和安裝字體,適用於區塊、混合和經典主題。

可視化修訂

在 WordPress 7.0 中,可視化修訂讓編輯變得更簡單、更直觀,同時讓你更深入地瞭解文章或頁面的編輯歷史。用户現在可以直接在編輯器中通過滑塊條直觀地比較兩個修訂版本,並在它們之間切換。文檔檢查器會顯示更改摘要,同時每個位置的顏色指示器和更改大小都清晰可見,點擊即可跳轉到頁面上的相應位置。

iframe 編輯器

WordPress 7.0 中改進的 iframe 編輯器為文章編輯體驗帶來了更高的穩定性。當文章中插入的所有區塊 API 區塊都使用 API 版本 3 或更高版本時,將強制啓用 iframe 文章編輯器。如果不滿足條件,iframe 將被移除,以保持對低版本區塊的向後兼容性。

WordPress 7.0 中的 iframe 編輯器變更

WordPress 7.0 創意定製:增強的設計工具與編輯能力

WordPress 7.0 通過增強的設計工具和全新的編輯能力激發創意。用户現在可以自定義移動端導航覆蓋層、對單個區塊進行精細的響應式控制,並能在不同模式下以模式(Pattern)級別進行編輯。


移動端自定義導航覆蓋層

漢堡菜單覆蓋層現在可以在站點編輯器中使用區塊和模式進行自定義構建,並提供了一個專用的導航覆蓋層關閉區塊,用於在覆蓋層內任意位置放置和設置關閉按鈕的樣式。這為用户和主題作者提供了定義移動端導航體驗的靈活性。原地覆蓋層選擇和預覽功能創造了無縫的編輯體驗,用户可以查看和分配覆蓋層,主題也可以提供默認模板以便快速設置。

WordPress 7.0 中的可自定義導航覆蓋層


響應式編輯模式

WordPress 7.0 引入了基於設備類型的可自定義區塊可見性,允許編輯者按設備隱藏或顯示區塊,且不影響其他視口。啓動區塊可見性選項模態框的控制按鈕位於區塊工具欄、區塊檢查器邊欄和命令面板中。在列表視圖中,已啓用可見性規則的區塊旁邊會顯示圖標,指示它們在哪些視口下被隱藏。

為進一步增強響應式能力,7.0 還引入了在不同斷點下更改樣式、自定義斷點大小等功能。

WordPress 7.0 中的區塊可見性


模式編輯與 contentOnly 交互

7.0 引入了自定義區塊的模式覆蓋、上下文模式和符號模式的模式級編輯模式、按鈕和列表區塊的父子樹狀視圖,以及選擇退出 contentOnly 模式的能力。

contentOnly 模式現在將成為之前依賴對其內部區塊進行無限制編輯的模式的默認設置,而新的 disableContentOnlyForUnsyncedPatterns 設置或 block_editor_settings_all PHP 過濾器允許為不同步模式選擇退出 contentOnly 模式。

在 7.0 中,contentOnly 模式的應用範圍更廣。因此,如果一個區塊嵌套在 contentOnly 模式中,插件開發者需要確保代表該區塊內容的屬性在 block.json 中設置了 "role": "content",以保留其可編輯性,並防止它們在列表視圖中被隱藏。

WordPress 7.0 開發指南

區塊開發者現在可以通過在 block.json 中添加 "listView": true 的區塊支持聲明,為區塊檢查器增加一個「列表視圖」標籤頁。該標籤頁為區塊提供專用視圖,讓編輯者能夠更輕鬆地更新和自定義區塊。

WordPress 7.0 中的模式編輯

支持區塊綁定的區塊屬性現在也支持自定義區塊的模式覆蓋。模式覆蓋現在適用於任何區塊,包括自定義區塊,並可通過 block_bindings_supported_attributes 過濾器選擇啓用。屬性值會出現在動態和靜態區塊渲染後的標記中。如果靜態區塊的屬性比 HTML API 能處理的更復雜,可以使用 render_callback() 函數來確保綁定的屬性值能夠正確渲染。

WP 7.0 中的模式覆蓋:支持自定義區塊


設計靈活性

WordPress 7.0 通過引入新的區塊、新的區塊支持和新的設計工具,讓設計變得更加靈活。7.0 內置了全新的標題區塊、圖標區塊和麪包屑導航區塊,同時為畫廊區塊增加了燈箱支持,為導航鏈接區塊增加了動態 URL 支持。7.0 還包含文本行縮進支持、文本列支持、尺寸寬度和高度支持、尺寸預設、工具和控件,以及寬圖和全圖的寬高比設置。

區塊級別的自定義 CSS

7.0 引入了在頁面上為單個區塊應用自定義 CSS 的能力。這讓用户能夠對內容的每一個細節進行精細控制,並通過快速直觀的方式訪問樣式控件。

標題區塊

全新的標題區塊包含所有標題級別的變體,可在邊欄檢查器中輕鬆切換,支持快速轉換,並在搜索和斜槓插入器中顯示。

麪包屑區塊

7.0 新增的麪包屑區塊會自動反映網站的導航層級,並支持在主題頭部等站點部件中全局應用。新的過濾器允許開發者添加、刪除和修改麪包屑路徑,並指定哪些分類和術語出現在麪包屑軌跡中。

麪包屑區塊過濾器

導航區塊

導航區塊的編輯體驗現在更加簡化,改進了插入方式、模式編輯和僅內容模式的交互性,並優化了“綁定”頁面項的呈現。

視頻嵌入封面區塊

現在可以將視頻作為封面區塊的節背景進行嵌入。

畫廊區塊

畫廊區塊現在支持燈箱效果,並新增了幻燈片播放選項。只需創建並插入一個畫廊,點擊鏈接圖標,然後選擇“點擊放大”即可。

[⌊.0 畫廊燈箱幻燈片圖像⌉⌊.0 畫廊燈箱幻燈片圖像⌉]

新增 <p> 區塊支持

段落區塊中的文本現在可以按列布局排列,並且引入了可選的 textIndent 區塊排版支持。

新增區塊支持:文本縮進 (textIndent)

更多關於新增和優化區塊的詳細信息,請參閲:

每個區塊的設計工具清單(WordPress 7.0 版)

尺寸支持增強

7.0 引入了區塊的寬度和高度支持、段落中的排版文本縮進支持、預設值支持,以及在 theme.json 層級為 core/button 區塊添加的偽元素支持(包括 ':hover'':focus'':focus-visible'':active')。在 theme.json 中新增了對尺寸預設值的支持,適用於寬度、高度和最小高度等區塊支持,允許區塊的變體控制相同的偽元素。同時,可以利用一組預定義的尺寸區塊支持預設值,減少在多個區塊中重複設置相同值的需求。

WordPress 7.0 中的尺寸支持增強


開發者工具箱

WordPress 7.0 開發者工具箱:PHP 區塊註冊、交互 API 與站點編輯器擴展

WordPress 7.0 為開發者帶來了豐富的工具箱,包括全新的構建工具、增強的支持結構以及擴展的 API 能力。開發者現在可以在服務器端創建純 PHP 的區塊表示、自定義插件列表過濾器,併為更具可擴展性的站點編輯器奠定基礎。


PHP 純區塊註冊

WordPress 7.0 允許直接在服務器端使用 PHP 創建區塊和模板,並通過 Block API 進行註冊。PHP 純區塊和模板的表示包括模板創建和語法,簡化了區塊創建和綁定過程。當區塊聲明 'supports' => array( 'autoRegister' => true ) 並附帶渲染回調時,區塊會自動註冊,並通過 JavaScript 全局變量暴露給客户端。PHP 註冊的區塊屬性可以在編輯器中進行編輯,檢查器控件可以從屬性自動生成,對於 PHP 自動註冊的區塊,還會自動添加 DataForm 檢查器控件。

PHP-only block registration


交互 API

@wordpress/interactivity 包引入了新的 watch() 函數,該函數訂閲回調中訪問的任何信號的變化,並在這些信號發生變化時重新運行回調。API 的 data-wp-watch 可以添加到 DOM9 元素的生命週期中,並對狀態變化做出響應。state.url 值現在在指令處理期間在服務器端填充,在首次客户端導航發生之前保持不變。

Changes to the Interactivity API in WordPress 7.0


DataViews 和 DataForms

體驗新的 Activity 佈局、新的 Details 佈局、改進的模態窗口外觀,以及在 Field API 中註冊第三方類型的能力。

DataViews, DataForm, et al. in WordPress 7.0


區塊綁定 API 迭代

引入了區塊綁定和模板覆蓋功能,支持按格式過濾可用的屬性源,與 Field API 保持一致。


新的插件列表過濾器

get_views() 中添加了新的 plugins_list_status_text 過濾器,允許自定義過濾。使用 plugins_list 添加的自定義狀態現在會以標籤形式顯示,用於過濾相關插件。標籤文本可以使用新的 plugins_list_status_text 鈎子進行自定義。


站點編輯器構建與路由

在 7.0 中,為可擴展的站點編輯器和路由奠定了基礎,包括路由驗證、新的 @wordpress/boot 包(允許插件構建自定義站點編輯器頁面),以及重構後的 @wordpress/scripts(支持從目錄構建並減少對 Webpack 的依賴)。


開發者福利

WordPress 7.0 引入了覆蓋核心各個領域的更新。這些變化支持了正在進行的計劃,旨在為開發者打造靈活的基礎,同時提升可用性和機會。

針對內容類自定義文章類型的塊鈎子

塊鈎子的邏輯已從單個文章類型過濾器移至 REST 控制器。

更安全的用户註冊

管理員和編輯角色已從管理屏幕“常規”下的新用户默認選擇器中移除。站點健康現在會在更新前檢測是否選擇了這些角色,而新的 default_role_dropdown_excluded_roles 過濾器允許開發者更改默認排除的角色。

CodeMirror 更新至 v5

CodeMirror 已更新至最新的 v5 版本,同時更新的還有 CSSLintHTMLHintJSONLint,而 Esprima 已被替換為 Espree,以支持 ES611 和 JavaScript 代碼檢查。

外部庫更新

PHP 更新


無障礙性

(注:原文中“Accessibility”部分未提供具體內容,此處僅保留標題,實際改寫時需根據原文補充。)

WordPress 7.0 包含大量改進和新增功能,旨在讓內容對所有人都更易於訪問。登錄密碼重置功能現在會預填用户名,以符合 WCAG6 2.2 標準(WCAG 是 Web 內容無障礙指南的縮寫,旨在確保互聯網對所有用户都可訪問,無論他們使用屏幕閲讀器、僅鍵盤操作等方式)。此外,新增的 wp_get_image_alttext() 函數可從圖片的 IPTC8 元數據中導入替代文本。.screen-reader-text 類已添加 word-break 屬性,確保屏幕閲讀器不會將隱藏文本中的單詞拆分為單個字母來朗讀。同時,視圖過渡僅在未設置減少動效時才會激活

現在,通過新增的 $use_title_attr 參數,可以從兩個函數中移除標題屬性;默認情況下,三個作者鏈接函數也已移除了標題屬性。


但不止於此!

7.0 帶來的遠不止這些!已有超過 300 個核心缺陷486 個 Gutenberg 缺陷(Gutenberg 是 WordPress 的新編輯器界面,通過“塊”來簡化內容創建,替代短代碼和自定義 HTML)、77 項增強功能和功能請求,以及 35 項受祝福的任務 被標記為在 WordPress 7.0 中已修復。以下是一些亮點:

WordPress 7.0 現場指南

以下是被標記為在 WordPress 7.0 中已修復的關鍵變更亮點:

  • 站點健康:OPCache3 信息已添加至 站點健康 > 信息 > 服務器 頁面(Trac #63697
  • 編輯器:保存模式時,名稱/描述元數據已添加(Trac #64123
  • 腳本加載器:允許腳本依賴模塊(Trac #61500
  • 腳本加載器:HTML55 腳本主題支持已被棄用並移除(Trac #64442
  • 通用:當 WP_DEBUG 不為真時,允許鈎入 wp_trigger_error() 函數(Trac #60886
  • 多站點:網絡和站點不再在賬户被標記為垃圾時自動將網站標記為垃圾(Trac #61146
  • 主題:PHP 8.1 棄用通知處理(Trac #64864
  • 編輯器:所有組件底部外邊距已移除,無外邊距樣式現為默認設置(GB12 #39358)

感謝所有為這個 WordPress 版本做出貢獻的人——無論是通過代碼、測試還是其他方式——你們的貢獻至關重要,幫助 WordPress 變得更好。

感謝 @westonruter@sabernhardt@marybaum@jeffpaul@jorbin@desrosj@coffee2code@audrasjb@wildworks@ankit-k-gupta 的協作與審閲。

編輯記錄:
– 5/17/26:添加 DataViews 開發者筆記;更新連接器屏幕截圖;添加 textIndent 塊支持開發者筆記;移除對播放列表塊的提及;添加無外邊距樣式為默認的説明。
– 5/18/26:移除“備註”部分;插入新的畫廊塊幻燈片圖像。

#7-0 | #field-guide


名詞解釋

  1. Gutenberg:WordPress 的區塊編輯器項目名稱 ↩︎
  2. REST API:基於 HTTP 的應用程序接口 ↩︎
  3. OPCache:PHP 字節碼緩存組件,可提升 PHP 執行性能 ↩︎
  4. React:Meta 開源的 JavaScript 界面庫 ↩︎
  5. HTML5:網頁內容展示標準 ↩︎
  6. WCAG:Web 內容無障礙指南 ↩︎
  7. Trac:WordPress 使用的項目管理和缺陷追蹤系統 ↩︎
  8. IPTC:國際新聞電信理事會元數據 ↩︎
  9. DOM:文檔對象模型,網頁結構的編程接口 ↩︎
  10. PHP:WordPress 核心使用的服務端編程語言 ↩︎
  11. ES6:JavaScript第6版標準 ↩︎
  12. GB:千兆字節存儲單位 ↩︎

發表評論

發表回覆

您的郵箱地址不會被公開。 必填項已用 * 標註