WordPress 社区新闻

开发者有什么新变化?(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 实例

目录

  1. 亮点
    1. 7.1 版野外指南发布
    2. 响应式方块风格已登陆核心
    3. 伪样式和自定义状态
    4. SVG 图标 API 现已公开
    5. 帖子编辑总是被iframed
  2. 插件与工具
    1. 列表表行头已移动
    2. 能力API更新
    3. 管理界面的设计系统主题
    4. Components彻底取消了40像素的选择性
    5. 管理员中出现了无障碍工具提示
    6. 块API与编辑器可扩展性
    7. 筛选网站编辑器界面
    8. 控件原语
    9. 注释与合作
    10. 其他核心改进值得一看
    11. React 19再次被推迟
    12. WordPress 编码标准
  3. 主题
    1. 三项新设计工具
    2. 导航块停止传播字体大小
    3. 全局样式的数值会显示在检查器中
    4. 播放列表和标签页都很稳定
    5. 其他主题变化
  4. 游乐场
    1. 一个新的界面,以及配套的手册
    2. 程序化站点管理
  5. 资源
    1. 开发者博客
    2. 开发者说明

亮点

7.1 版野外指南发布

WordPress 7.1 现场指南已经发布,这是本月最重要的阅读内容。它将所有发布开发说明集中在一个地方:媒体、可访问性、能力 API、全局样式、SVG 图标 API、数据视图和视图配置、编辑器、设计系统、持久管理栏以及外部库。

关于未发行的内容部分同样有用。7.1 版本中不支持实时协作。原本打算将经典版块从插入器中隐藏起来的计划被撤销了。React 19 再次被搁置。“今天”仪表盘小部件未能上线,指南/知识合并提案仍在不断发展。如果你在之前的汇总中关注过这些人,那它们就是现在的状态。

响应式方块风格已登陆核心

选择“预览”下拉菜单的WordPress帖子编辑器。选择平板视图,选择响应式样式项以在平板模式下编辑样式。

响应式州自春季以来一直在这些汇总中进行中。在 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()

伪样式和自定义状态

打开了 WordPress 网站编辑器,打开了样式>块>按钮面板。按钮的“悬停”状态被选中进行自定义。

除了响应式样式外,另一个备受期待的主题开发功能也加入了:支持伪状态样式。你可以定义 、 、 和 ,通过编辑器。目前,这仅限于按钮和导航链接块。: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 帖子编辑器中的模态弹窗显示图标库。会选择一个自定义集合,展示各种自定义SVG图标。

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_page
  • get_entity_view_config_posttype_wp_template
  • get_entity_view_config_posttype_wp_template_part
  • get_entity_view_config_posttype_wp_block

每个版本都可以设置default_view、default_layouts、view_list和表单,因此你可以控制默认布局和排序顺序,用户可以选择哪些布局,侧边栏预配置视图,以及快速编辑表单。

回调会接收一个包含合并补丁方法的配置对象,并且必须返回容器。开发说明里有一个工作示例,机制设计成可以扩展到其他实体。在 Gutenberg 端,视图配置也获得了版本处理更严格的合并语义

控件原语

控件仪表盘的工作在两个 Gutenberg 版本中持续进行,主要朝向类型化声明式控件定义方向:

仪表盘小部件还接收了动作、href 净化帮助链接净化

注释与合作

7.1版本中没有实时协作功能,但Notes自Beta 1以来增加了两项功能:@mentions的邮件通知可分享的修订链接。注释现在也被排除在评论信息流查询之外,这与7.0.3中修补的披露问题有关。

其他核心改进值得一看

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

如果你的主题直接针对导航项目,开发说明会包含一个过滤器,可以恢复子块上的遗留类。原始讨论见#76416has-{slug}-font-size

全局样式的数值会显示在检查器中

块检查控制现在反映继承的全局样式值,而不是在来自 的值中显示为空,每个层级的标题元素样式和链接块的链接元素样式都能正确解析。面向用户的继承界面目前处于古腾堡实验的基础上,所以这更值得关注,而不是用来对抗。theme.json

两个相关的修正出现在同一窗口:预设通过 slug 选择,使两个共享值的渐变保持相同,且颜色预设共享十六边形时也解决了同样的问题

播放列表和标签页都很稳定

这两个区块已经试验了一段时间,并且在该州的这些综述中出现过。在 Gutenberg 23.6 中,播放列表块标签块被稳定了,标签页还增加了工具栏按钮用于重新排序标签页。两者都在7.1路线图上。如果你在标记还在变化时一直没做造型,现在就是时候了。

其他主题变化

游乐场

一个新的界面,以及配套的手册

WordPress Playground 这个月非常忙碌。最显著的变化是新界面,重新构建为管理多个网站,而非一次只启动一个一次性实例。此外,现在还有一本真正的《游乐场手册》。

如果你用Playground做演示、支持复刻,或者和7.1遥控模型测试,现在是个好时机,可以试试到底哪里出了问题。

程序化站点管理

新的Site Manager API允许你从代码中创建、列出、修改和删除Playground网站,而无需点击UI,这为脚本化测试矩阵和自动化演示环境打开了大门。如果你一直在维护自己的Blueprints包裹,可以尝试类似的体验。

另外两个资源陆续登陆:

Playground 也是测试 7.1 最快且无需动用服务器的方式。RC 公告链接了一个运行测试频道的预配置实例

资源

开发者博客

除了常规的月度总结外,上个月开发者博客上还发布了三篇新文章:

开发者说明

另外,这里有WordPress 7.1开发者笔记: