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:千兆位元組儲存單位 ↩︎

發表評論

發表回覆

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