使WordPress成为核心

开的21个月前

关闭20个月前

上次修改时间20个月前

#56408 已关闭 任务(幸运的) (固定的)

块:允许为所有支持的资产类型注册多个项目

报告人: gziolo的简介 吉奥罗牌手表 所有者: gziolo的简介 吉奥罗牌手表
里程碑: 6.1 优先: 正常的
严重程度: 正常的 版本:
组件: 编辑器 关键词: has-patch接口 has-unit-测试 需求-开发说明
重点: 复写的副本:

描述

的一部分https://github.com/WordPress/gutenberg/issues/41236。有关更多详细信息,请参阅https://github.com/WordPress/gutenberg/issues/33542.

本公关深受@zieladam在#56094.

其想法是允许每个块有多个脚本编辑器脚本,脚本、和查看脚本.@亚里士多德已经为风格编辑器样式很久以前https://github.com/WordPress/gutenberg/pull/32510。它使用Gutenberg使用的钩子将其反向移植到WordPress核心[52069]作为的一部分#54337,这会导致类似中报告的问题https://github.com/WordPress/gutenberg/issues/43086。在这里,代码被重构为风格,编辑器样式因此在中本机支持多个资产工作包块类型类和REST API端点中的块类型。相同的实现被镜像到脚本:编辑器脚本,脚本查看脚本.

附件(1)

更改历史记录(31)

这张票是在采购订单号3108WordPress/WordPress-develop开发通过吉奥罗牌手表.


21个月以前
#1

Trac票:https://core.trac.wordpress.org/tickt/56408

的一部分https://github.com/WordPress/gutenberg/issues/41236。有关更多详细信息,请参阅https://github.com/WordPress/gutenberg/issues/33542.

这个公关受到了@adamziel在https://github.com/WordPress/WordPress-development/pull/2853网址.

其想法是允许每个块有多个脚本编辑器脚本,脚本、和查看脚本.@亚里士多德已经为风格编辑器样式很久以前https://github.com/WordPress/gutenberg/pull/32510。它使用Gutenberg使用的相同钩子被后端口到WordPress核心,这会导致类似中报告的问题https://github.com/WordPress/gutenberg/issues/43086。在这里,代码被重构为风格,编辑器样式因此在中本机支持多个资产工作包块类型类和REST API端点中的块类型。相同的实现被镜像到脚本:编辑器脚本,脚本查看脚本.

亚里士多德对发表了评论采购订单号3108:


21个月以前
#2个

太棒了!非常感谢你为这个@gziolo工作👍
我还没有测试实现,但代码看起来很好,非常有意义🎉

阿达齐尔对发表了评论采购订单号3108:


21个月以前
#3个

@gziolo以下block.json:

“样式”:[“wp-block-button”,“file:test.css”,“wp-column-block”]

生成以下HTML:

{{{html
<link rel='stylesheet'id='wp-block-button-css'href='http://localhost:8888/wp-包括/blocks/button/style.css?版本=6.1-alpha-20220819.130951'媒体='所有'/>
<link rel='stylesheet'id='wp-block-button-2-css'href='http://localhost:8888/wp-包括/blocks/button/style.css?版本=6.1-alpha-20220819.130951'媒体='所有'/>
<link rel='stylesheet'id='wp-block-button-3-css'href='http://localhost:8888/wp-包括/blocks/button/style.css?版本=6.1-alpha-20220819.130951'媒体='所有'/>
}}}

所以有些事情还不对劲。

阿达齐尔对发表了评论采购订单号3108:


21个月以前
#4

此代码位于寄存器块样式句柄替代原始样式路径:

//检查样式是否应有“.min”后缀。$后缀=SCRIPT_DEBUG?“:”。最小值';$style_uri=插件url($style_path,$metadata['file']);if($is_core_block){$style_path=“style$suffix.css”;$style_uri=includes_url(“blocks/”.str_replace(“core/”,“”,$metadata[“name”])。“/style$后缀.css”);}

吉奥罗牌手表对发表了评论采购订单号3108:


21个月以前
#5

register_block_style_handle中的此代码覆盖原始样式路径:

@adamziel接得好。很难修复,因为它现在只适用于现有的核心块,因为它总是以块为目标的样式,而后续的样式是用钩子处理的。如果有人改变订单,那么类似的问题也会出现。看起来我们需要重新对核心块中的样式进行特殊处理。

阿达齐尔对发表了评论采购订单号3108:


21个月以前
#6

案例前缀为文件:将其排除在这种特殊处理之外将非常简单。我想那是另一个街区的风格“wp-列-块”可以尽早退出,因为它应该在其他地方注册。

对于依赖于其他块或类块元素的块来说,这可能是有意义的,例如搜索块可能希望包含按钮块的样式。

吉奥罗牌手表对发表了评论采购订单号3108:


21个月以前
#7

@gziolo以下block.json:

“样式”:[“wp-block-button”,“file:test.css”,“wp-column-block”]

生成以下HTML:

<link rel='stylesheet'id='wp-block-button-css'href='http://localhost:8888/wp-包括/blocks/button/style.css?ver=6.1-alpha-20220819.130951'媒体='all'/><link rel='stylesheet'id='wp-block-button-2-css'href='http://localhost:8888/wp-包括/blocks/button/style.css?ver=6.1-alpha-20220819.130951'媒体='all'/><link rel='stylesheet'id='wp-block-button-3-css'href='http://localhost:8888/wp-包括/blocks/button/style.css?ver=6.1-alpha-20220819.130951'媒体='all'/>

我处理核心块的方式如下:

  • 您只能像以前一样传递样式句柄,条目以开头文件:将被忽略
  • 只有通过的第一个样式句柄得到特殊处理
  • 其他样式句柄需要在其他地方注册

吉奥罗牌手表对发表了评论采购订单号3108:


21个月以前
#8

@奥克姆,这个后台端口已经准备好了,但我正在等待一些额外的反馈。如果它阻碍了将古腾堡更改同步到WordPress核心的进程,请告诉我。我很高兴提交这些更改,并在需要时稍后进行迭代。

奥卡姆对发表了评论采购订单号3108:


21个月以前
#9

@奥克姆,这个后台端口已经准备好了,但我正在等待一些额外的反馈。如果它阻碍了将古腾堡更改同步到WordPress核心的进程,请告诉我。我很高兴提交这些更改,并在需要时稍后进行迭代。

谢谢你,@gziolo!看起来我们最终需要它取消阻止同步。我们还有一周的时间等待功能冻结--您认为有足够的时间获得反馈并进行潜在更改吗?如果不是,最好将其合并为-is,并在单独的问题/PR中迭代反馈😊

#10 @吉奥罗牌手表
21个月以前

  • 关键词 需求-开发说明补充

#11 @吉奥罗牌手表
21个月以前

  • 所有者设置为吉奥罗牌手表
  • 分辨率设置为固定的
  • 状态已从更改分配已关闭

54155:

块:允许为所有支持的资产类型注册多个项目

跟进#54337,[52069]。的一部分https://github.com/WordPress/gutenberg/issues/41236。有关更多详细信息,请参阅https://github.com/WordPress/gutenberg/issues/33542.

允许为每个块传递多个脚本编辑器脚本,脚本、和查看脚本中的字段块.json元数据文件。这与之前添加的更改保持一致风格编辑器样式领域。

此更改影响工作包块类型类和块类型的REST API端点。为了确保向后兼容,旧名称被软弃用,取而代之的是使用数组值并具有_把手后缀。

Props zieladam、dlh、timothyblynjacobs、aristah、bernhard-reiter。
修复#56408.

#12个 @吉奥罗牌手表
21个月以前

  • 关键词 开发人员反馈远离的

吉奥罗牌手表对发表了评论采购订单号3108:


21个月以前
#13

@奥克姆,这个后台端口已经准备好了,但我正在等待一些额外的反馈。如果它阻碍了将古腾堡更改同步到WordPress核心的进程,请告诉我。我很高兴提交这些更改,并在需要时稍后进行迭代。

谢谢你,@gziolo!看起来我们最终需要它取消阻止同步。我们还有一周的时间等待功能冻结--您认为有足够的时间获得反馈并进行潜在更改吗?如果不是,最好将其合并为-is,并在单独的问题/PR中迭代反馈😊

我提交了所有更改https://core.trac.wordpress.org/changeset/54155网站解除Gutenberg同步进程的锁定。我会看这张公关和Trac罚单,以获得进一步的反馈,并采取必要的行动。

#14 @TobiasBg公司
21个月以前

@gziolo公司:
在向后兼容层中,有几个$this->{$new_name}[0]后面有一个额外的空格新名称可以/应该删除。

#15 @吉奥罗牌手表
21个月以前

谢谢你,@TobiasBg,让我知道。我用[54158].

#16 @德斯罗什
20个月以前

54210:

编码标准:各种对齐修复作曲家格式.

后续行动[53874],[54097],[54110],[54155],[54162],[54184].

请参见#39210,#55443,#56288,#56092,#56408,#56467,#55881个.

#17 @TobiasBg公司
20个月以前

看起来像是[54155]断裂荷载样式表文件,即排队样式表前端不存在的文件,这会导致404个错误。
例如,我正在从所附的屏幕截图中获取这些内容。所有这些样式表Core中不存在文件。

在签出提交的前一个任务时,不会出现错误,r54154.

#18 @TobiasBg公司
20个月以前

  • 分辨率 固定的删除
  • 状态已从更改已关闭重新打开的

#19 @TobiasBg公司
20个月以前

#56614被标记为副本。

#20 @吉奥罗牌手表
20个月以前

@TobiasBg,谢谢你的报告。据我所知,触发404的所有块都没有风格中的字段块.json因此,它必须是将这种风格注入所有没有内容的核心块的过滤器之一。我会调查的。

#22 @吉奥罗牌手表
20个月以前

我在GitHub上包含了一个补丁,希望它能解决404个HTTP代码的问题,这些代码用于没有样式文件但仍注册句柄的块。

#23 @吉奥罗牌手表
20个月以前

  • 分辨率设置为固定的
  • 状态已从更改重新打开的已关闭

54323:

块:修复没有文件的核心样式的404错误

[54155]破坏了style.css文件的加载,即将前端不存在的style.css文档排队,导致404个HTTO错误。核心块不存在所有这些style.css文件,因为它们应该是没有文件路径的注册样式处理程序。

后续行动[54155].
道具tobiasbg,nendeb55。
修复#56408,#56614.

这张票是在公共关系编号3395WordPress/WordPress-develop开发通过亚里士多德.


20个月以前
#25

似乎还有一个额外的条件,就是阻止多个脚本加载到像导航块这样的块中,在导航块中我们需要一个单独的模式脚本。

此修补程序删除了一个不必要的附加条件。
样式或脚本是否进入队列与块的渲染回调无关。

Trac票:https://core.trac.wordpress.org/tickt/56408

c4rl0sbr4v0对发表了评论公共关系编号3395:


20个月以前
#26

干得好!!按预期工作

#28 @戴维鲍姆瓦尔德
20个月以前

54367:

编辑器:确保块脚本排队,无论朗德回调.

后续行动[54155].

道具亚里士多德,伯拉沃伯纳。
请参见#56408.

#30 @吉奥罗牌手表
20个月以前

[54367]有效关闭#56470已解决。它必须包含在WordPress 6.1中Block API更改的开发说明中。我们还应更新文档中的以下部分:

https://github.com/WordPress/gutenberg/blob/trunk/docs/reference-guides/block-api/block-metadata.md#frontend-排队

特别是,必须更新以下部分以反映应用的更改:

viewScript(当块在PHP中注册期间定义render_callback或其block.json中的render字段时,脚本被注册,但块作者负责排队)

我同意旧的行为太令人困惑了,我们寻求其他方法来允许有条件的视图排队。

注:请参见TracTickets公司有关使用的帮助门票。