开发者有什么新变化?(2026年8月)
八月对WordPress来说是一个重要的月份。7.1版本计划于8月19日发布,并于8月16日至19日在凤凰城举行的WordCamp US最后一天登陆。年度旗舰活动的发布日安排得很不错,如果你要去,还能现场观看。
RC1和RC2都在过去一周内发货了。这意味着功能集被锁定,野外指南也被取消了。
过去一个月内还发布了两条安全公告。WordPress 7.0.2 于 7 月 17 日发布,解决了一个关键且高严重的问题。严重程度足够高,WordPress.org 启用了受影响版本的强制更新。随后 8 月 6 日发布了 WordPress 7.0.3,新增了十几个修复。如果你维护的任何网站都错过了两个自动更新,先处理好,再读这篇文章。
距离7.1发布还有九天,这是你最后一个舒适的窗口来测试你的插件和主题。让我们来聊聊新东西。
一如既往,你可以通过运行 WordPress trunk 和最新的 Gutenberg 版本来测试最新版本,或者直接搭建一个无需设置的 Playground 实例。
目录
亮点
7.1 版野外指南发布
WordPress 7.1 现场指南已经发布,这是本月最重要的阅读内容。它将所有发布开发说明集中在一个地方:媒体、可访问性、能力 API、全局样式、SVG 图标 API、数据视图和视图配置、编辑器、设计系统、持久管理栏以及外部库。
关于未发行的内容部分同样有用。7.1 版本中不支持实时协作。原本打算将经典版块从插入器中隐藏起来的计划被撤销了。React 19 再次被搁置。“今天”仪表盘小部件未能上线,指南/知识合并提案仍在不断发展。如果你在之前的汇总中关注过这些人,那它们就是现在的状态。
响应式方块风格已登陆核心

响应式州自春季以来一直在这些汇总中进行中。在 WordPress 7.1 中,它们会发布。
现在可以为平板和移动视口定义样式,既可以在每个块类型的全局样式中,也可以在单个块实例中定义。在 中,它们嵌套于 和 键下:theme.json@mobile@tablet
"styles": {
"blocks": {
"core/group": {
"spacing": {
"padding": { "top": "3rem" }
},
"@mobile": {
"spacing": {
"padding": { "top": "1rem" }
}
}
}
}
}
没有钥匙,这是故意的。该块的默认样式是桌面样式,并且对于你没有覆盖的属性,它会在每个视口继续应用。@desktop
你可能一直在等的部分:主题现在可以通过一个新的顶层属性来配置断点。默认设置是移动端和平板。这些值必须是 中 、 、 或 的非负长度。CSS 函数、百分比和无单位值被忽略。如果平板值等于或低于手机值,则只使用手机值。这是顶层设置,所以不能按块类型配置。settings.viewporttheme.json480px782pxpxemrem
使用标准方块支撑的方块可以免费获得响应式样式。涵盖排版、颜色、背景、边框、尺寸、间距和布局。带有自定义样式控制的方块则没有。那是你自己用来对照的界线。
你也可以用快速筛选关闭响应式编辑:
add_filter( 'block_editor_settings_all', 'example_disable_responsive_editing' );
function example_disable_responsive_editing( $settings ) {
$settings['responsiveEditingEnabled'] = false;
return $settings;
}
注意,响应式样式支持意味着在 Core 中更改块级 CSS。预设的实用选择器现在被包裹在 。:where()
伪样式和自定义状态

除了响应式样式外,另一个备受期待的主题开发功能也加入了:支持伪状态样式。你可以定义 、 、 和 ,通过编辑器。目前,这仅限于按钮和导航链接块。:hover:focus:focus-visible:activetheme.json
这里有一个按钮方块的样式示例(带有响应式样式!)::hover
"core/button": {
":hover": {
"color": { "background": "var:preset|color|contrast" }
},
"@mobile": {
":hover": {
"color": { "background": "var:preset|color|contrast-2" }
}
}
}
还有一个早期的自定义状态功能,目前仅有,没有面向用户的界面,用于导航链接块通过属性为当前菜单项做样式。自定义状态使用前缀,生成针对通过块属性声明的类名的CSS。现在值得了解,尽管现在范围很窄。theme.json-current-block.jsonselectors.states
和响应式编辑一样,它也有自己的选择退出:编辑设置。blockStatesEditingEnabled
SVG 图标 API 现已公开

WordPress 7.0 发布了一套捆绑的 SVG 图标,用于编辑器和图标块。在7.1版本中,它成为了一个正式的公共API,你可以注册加入。
每个图标都属于一个集合,集合名称成为命名空间前缀,这避免与 发生冲突。将集合注册为 ,然后用 添加图标。并且可以在PHP中任意位置渲染图标,参数大小、类和标签参数可选。my-plugin/starcore/starwp_register_icon_collection()wp_register_icon()wp_get_icon()
有两个限制需要规划:
- 注册SVG通过一个刻意保守的允许列表进行净化:仅 、 、 和 。拓宽允许名单的工作正在进行中。
wp_kses<svg><path><polygon> fill只允许在形状上,不允许在外层 上加一个。在图标块内部,这没关系,因为块样式表会把它设置为当前颜色。但单独调用渲染的是SVG自身的填充(黑色),而不是周围的文本颜色。建议:针对你通过的职业提供自己的CSS。<svg>wp_get_icon()wp_get_icon()
帖子编辑总是被iframed
自从模板编辑器搬到WordPress 5.8的iframe后,这个问题就一直存在。在7.1中,帖子编辑器采取最后一步:无论主题类型、已注册块的块API版本,还是内容块块的块API版本,它始终保持iframed。包括注册旧版元盒子的网站。
在7.0版本中,每条帖子的决策基于插入的块数,这意味着编辑者可以根据内容在iframed和非iframed模式之间切换。那种有条件的行为已经消失了。
大多数模块本身就已经能正常工作了,无需更改。出现的问题几乎总是源于一个根本原因:iframe有自己的文档和窗口,与运行编辑脚本的管理页面分开。让全局文档或窗口接触画布的代码,是在看错文档。常见的修复方法是通过和从画布文档中的元素获取文档,并用来附加和清理画布元素上的监听器。手册中关于iframe编辑器的技术考虑涵盖了全部列表。ownerDocumentdefaultViewuseRefEffect
插件与工具
列表表行头已移动
这最有可能悄然破坏你维护的事物。在变更集 62838 中,帖子列表表中的主文件从复选框列移到了标题栏。复选框单元现在变成了,标题单元格变成了带有帖子标题的带位,响应式视图中折叠的单元格则使用灵活布局。th scope="row"tdtharia-label
这真的是无障碍的胜利:屏幕阅读器现在通过帖子来标识每一行,而不是用可能根本不存在的复选框来识别。但这种加价自2010年以来基本稳定,许多延期都隐含依赖于此。检查任何选择 、或期望行操作和帖子标题出现在 的 CSS 或 JavaScript 中。th.check-columntd
能力API更新
Abilities API 作为基础设施在 WordPress 6.9 中发布。在7.1版本中,它几乎涵盖了你实际构建所需的一切:可过滤的执行生命周期、自定义验证和共享的发现流水线。如果你在构建AI集成、自动化工具或协议适配器,这个版本API不再是基础,而是工具包。
五篇开发者笔记涵盖了这个主题,值得按以下顺序阅读:
管理界面的设计系统主题
WordPress 7.1 提供了主题管理界面组件的基础支持,涵盖颜色、圆润度和光标样式。请注意,这和前端无关。这里的“主题”直接关联管理员。
样式表提供了完整的语义设计标记作为CSS自定义属性,这样你可以引用它们,而不是硬编码值。脚本句柄提供了一个React组件,包裹页面的某一段并覆盖这些令牌值。给它一对种子颜色,它就会为你生成一个和谐的斜坡。wp-themewp-themeThemeProvider
对于那些希望自己的管理界面既能有自己品牌又能体现在WordPress中的插件作者来说,这是第一个真正的机会。代币参考列出了可用的选项。
Components彻底取消了40像素的选择性
道具已经完成了它的旅程。它在6.7版本引入,6.8版本软弃用,7.1版本时它不再使用。__next40pxDefaultSize
表单控件无条件渲染为40像素,传送不再选择切换回36像素。把道具从你的使用中移除;没有替代品。如果你只是为了获得更高的控制而通过,那也要去掉。在 、 、 和 上,道具也被弃用。__next40pxDefaultSize={false}size="__unstable-large"BorderBoxControlBorderControlFontSizePickerToggleGroupControlsize
管理员中出现了无障碍工具提示
编辑器里已经有一段时间有提示了,但 wp-admin 的其他部分没有。WordPress 7.1 增加了 和 来弥补这个差距。第一个为仅图标控件提供了一个可见的可访问名称;第二种新增了一个可触发的按钮,用于延长帮助文本。核心版分别在后元盒控制和登录界面的“记住我”复选框中使用它们。wp_get_tooltip()wp_get_toggletip()
CSS 是全局加载的,但 JavaScript 只在 Core 使用的地方加载。其他地方,可以同时排队。wp-tooltip
块API与编辑器可扩展性
有几个其他细节值得关注,可能会影响你的代码:
- 块变换现在可以通过 针对特定变体,并接受变体作为第三个参数。
variationNameswitchToBlockType() __experimentalCloneSanitizedBlock并且被稳定下来。实验名称依然有效,但现在是日志弃用。__experimentalSanitizeBlockAttributes- 非分页实体现在返回所有记录。如果你从 那里得到的截断列表是十个,你现在会得到所有内容,所以检查你渲染时没有自己限制的地方。
getEntityRecords() - 模板部分可以通过新设置选择退出仅编辑内容。
disableContentOnlyForTemplateParts
在 Gutenberg 23.6 和 23.7 的其他地方:块绑定在调用站点间共享上下文汇编,仅支持 PHP 的块将当前帖子 ID 转发到服务器渲染,检查器控制样式槽位移回原位,并且现在可以在 DataForm 帖子摘要中获得。交互性 API 还将其指令重构为自注册模块。PluginPostStatusInfo
筛选网站编辑器界面
四个新筛选器允许你配置驱动页面、模板、零件和图案界面的组件:DataViewsDataForm
get_entity_view_config_posttype_pageget_entity_view_config_posttype_wp_templateget_entity_view_config_posttype_wp_template_partget_entity_view_config_posttype_wp_block
每个版本都可以设置default_view、default_layouts、view_list和表单,因此你可以控制默认布局和排序顺序,用户可以选择哪些布局,侧边栏预配置视图,以及快速编辑表单。
回调会接收一个包含合并补丁方法的配置对象,并且必须返回容器。开发说明里有一个工作示例,机制设计成可以扩展到其他实体。在 Gutenberg 端,视图配置也获得了版本处理和更严格的合并语义。
控件原语
控件仪表盘的工作在两个 Gutenberg 版本中持续进行,主要朝向类型化声明式控件定义方向:
- 小部件原语现在作为脚本模块发布。
- 新
WidgetAttributeField用于类型属性模式,并由字段类型注册表支持。 - widget 类别通过构建管道和 REST API 公开。
- 新的声明式帮助元数据字段和相关性属性。
title, , , 在服务器端被翻译。descriptionkeywords
注释与合作
7.1版本中没有实时协作功能,但Notes自Beta 1以来增加了两项功能:@mentions的邮件通知和可分享的修订链接。注释现在也被排除在评论信息流查询之外,这与7.0.3中修补的披露问题有关。
其他核心改进值得一看
- 过滤器现在拥有最终决定权。批准状态已整合进默认状态,因此回拨也会发送审核、垃圾邮件或垃圾邮件的评论。
notify_post_author__return_true - 工具栏现在会在编辑器界面中持续存在。如果你扩展了它,测试一下客户端导航时你的物品表现如何。
- 推测加载可以通过环境变量和常量进行配置。
_doing_it_wrong()信息在获得上下文中。WP_Block_Type_Registry::register()get_file_data()现在能识别以标签为前缀的头部。<?- 模板新增了日期字段,KSES 支持对对话元素的自动聚焦。
React 19再次被推迟
React 19 在 7.1 版本中不会发布。它曾在古腾堡短暂启用,但由于旧版和新版 React 的交互以及插件使用 React 的方式出现了意外的不兼容问题,它又被恢复了。WordPress 7.1 仍用 18.3。
不过测试并没有停止。
Gutenberg 23.4及之后的版本在“古腾堡设置”下→安装一个实验旗帜,运行时会替换React 19。需要注意的两种失败模式是直接捆绑react/jsx-runtime,而不是使用WordPress提供的外部脚本,以及依赖React在19中移除的功能,比如字符串引用或函数组件的默认prop。目前还在进行自动化识别插件检查的相关工作。
WordPress 编码标准
本月发布了两个WordPressCS版本。3.4.0 是正常的功能发布,3.4.1 包含安全修复,建议尽早升级。
主题
三项新设计工具
WordPress 7.1 增加了两个块支持和一个全局样式属性,渐变型解决了主题作者多年来一直在努力解决的问题。
background.gradient是与现有color.gradient不同的支撑,差值在CSS中的位置。旧的支撑通过速记渲染,重置包括 在内的所有属性,因此一个块可以显示渐变或图像,但不能同时显示两者。新支持通过手写渲染,样式引擎将渐变和图片以逗号分隔的数值输出为一个声明。通过以下方式选择加入:backgroundbackgroundbackground-imagebackground-imageblock.json
{
"supports": {
"background": {
"backgroundImage": true,
"gradient": true,
"__experimentalDefaultControls": {
"backgroundImage": true,
"gradient": true
}
}
}
}
Core 选择了 Group、Accordion、Pullquote、Post Content 和 Quote 于 7.1。值存在于 和 ,可以在背景样式组下、根节点或每个块中设置。 已经更新为允许合并梯度加值,所以你这边不需要额外过滤。style.background.gradienttheme.jsonsafecss_filter_attr()url()
dimensions.minWidth遵循与 的模式相同,应用为 CSS ,并在主题提供预设时采用。注意,除非块通过 选择加入,否则它在块检查器中默认隐藏,但全局样式默认显示。而且全局样式现在支持文本阴影功能。minHeightmin-widthdimensionSizes__experimentalDefaultControls
导航块停止传播字体大小
导航块不再强制其字体大小配置到、和的标记上。旧的行为与相对单位叠加,叠加成嵌套下拉菜单,导致编辑画布和前端在排版问题上产生分歧。该模块现在依赖标准CSS文本继承。core/navigation-linkcore/navigation-submenucore/page-listcore/home-link1.5em2.25em3.375em
如果你的主题直接针对导航项目,开发说明会包含一个过滤器,可以恢复子块上的遗留类。原始讨论见#76416。has-{slug}-font-size
全局样式的数值会显示在检查器中
块检查控制现在反映继承的全局样式值,而不是在来自 的值中显示为空,每个层级的标题元素样式和链接块的链接元素样式都能正确解析。面向用户的继承界面目前处于古腾堡实验的基础上,所以这更值得关注,而不是用来对抗。theme.json
两个相关的修正出现在同一窗口:预设通过 slug 选择,使两个共享值的渐变保持相同,且颜色预设共享十六边形时也解决了同样的问题。
播放列表和标签页都很稳定
这两个区块已经试验了一段时间,并且在该州的这些综述中出现过。在 Gutenberg 23.6 中,播放列表块和标签块被稳定了,标签页还增加了工具栏按钮用于重新排序标签页。两者都在7.1路线图上。如果你在标记还在变化时一直没做造型,现在就是时候了。
其他主题变化
- 使用该主题的主题现在可以选择不使用块可见。
theme.json - 自定义CSS在块库样式后输出,额外CSS在查询循环中不再重复。
calc()表达式现在接受无单位零。- 样式引擎保留了重要的梯度声明,块间隙正确处理嵌套数组值。
- 术语名称迁移到文本对齐块支持,延续了自7.0以来的标准化。
- 最新帖子支持布局和块间距。
- Cover 现在可以限制允许使用哪些视频嵌入服务商。
- 视频处理非小写VIDEO标签。
render_block_core_video() - 导航链接和子菜单在未激活古腾堡插件的情况下运行后期状态检查,修复草稿和删除链接的回归问题。
WP_Theme_JSON::to_ruleset()不再隐含强制,且在大型主题时更快。WP_Theme::get_post_templates()
游乐场
一个新的界面,以及配套的手册
WordPress Playground 这个月非常忙碌。最显著的变化是新界面,重新构建为管理多个网站,而非一次只启动一个一次性实例。此外,现在还有一本真正的《游乐场手册》。
如果你用Playground做演示、支持复刻,或者和7.1遥控模型测试,现在是个好时机,可以试试到底哪里出了问题。
程序化站点管理
新的Site Manager API允许你从代码中创建、列出、修改和删除Playground网站,而无需点击UI,这为脚本化测试矩阵和自动化演示环境打开了大门。如果你一直在维护自己的Blueprints包裹,可以尝试类似的体验。
另外两个资源陆续登陆:
- 《一个游乐场,三个工作流程》涵盖了游乐场代理技能的新版本,以及如何在各个表面保持指导一致。
- 关于用蓝图导入内容的指南,很多人在构建第一个蓝图后常会问这个问题。
Playground 也是测试 7.1 最快且无需动用服务器的方式。RC 公告链接了一个运行测试频道的预配置实例。
资源
开发者博客
除了常规的月度总结外,上个月开发者博客上还发布了三篇新文章:
开发者说明
另外,这里有WordPress 7.1开发者笔记:
- WordPress 7.1 中的一致导航,配备持久工具栏
- WordPress 7.1 中的客户端媒体处理
- 媒体库无限滚动现默认启用,并支持按用户选择退出
- 全局样式中的文本阴影支持
- 自定义HTML块内可编辑的块
- WordPress 7.1 中的编辑器组件更新
- 在 WordPress 7.1 中注册和渲染 SVG 图标
- React 19:被推迟到 WordPress 7.1 之外,在古腾堡进行实验
- WordPress 7.1 中的新块支持:背景渐变(background.gradient)
- WordPress 7.1 中的新块支持:最小宽度
- WordPress 7.1 中 Abilities API 的新执行生命周期过滤器
- jQuery UI更新至WordPress 7.1中的1.14.2
- WordPress 7.1 中客户端兼容性的 JSON 模式准备
- WordPress 7.1 中的 Abilities API 改进
- WordPress 7.1 中的设计系统主题
- WordPress 7.1 中的筛选网站编辑器屏幕
- WordPress 7.1 中的 Iframed 编辑器变更
- 列表表的行头更改
- WordPress 7.1 中介绍名称和信息工具提示
- WordPress 7.1 中能力的统一公开暴露标志
- WordPress 7.1 中的杂项编辑器变更
- WordPress 7.1 中的响应式块样式和可配置视口
- WordPress 7.1中的伪样式和自定义样式状态
- 在 WordPress 7.1 中用 wp_get_abilities() 筛选注册能力
- notify_post_author过滤器现在拥有最终决定者发布通知的权力