跳到内容
新问题

对这个项目有疑问吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。

单击“注册GitHub”,表示您同意我们的服务条款隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。

已经在GitHub上了?登录到您的帐户

块绑定:添加块绑定源在处理过程中所需的上下文 #6456

正常开放
想要合并8提交到
底座: 大旅行箱
选择基础分支

对话

桑托斯·吉拉莫特
复制链接

@桑托斯·吉拉莫特 桑托斯·吉拉莫特 评论2024年4月29日

Trac票:https://core.trac.wordpress.org/ticket/61642

什么?

块绑定源有时需要访问块中最初不可用的某些上下文。现在,我们在注册源时对其进行扩展。此拉请求移动逻辑,以便在处理块绑定时添加。这意味着:

  • 之前:在块绑定源注册期间扩展上下文。这意味着块即使不使用绑定也会扩展上下文。
  • 之后:在块绑定处理期间扩展上下文。这意味着上下文仅针对定义了绑定的块进行扩展。

怎么用?

而不是使用获取块类型使用上下文创建那时对于此用例,请使用可用内容在绑定处理期间在block类中。

我认为由于向后兼容性,不可能删除该过滤器。

测试说明

  1. 在站点中注册自定义字段以进行测试。可以使用如下代码段:
寄存器_元数据(“发布”,'url_custom_field',阵列(“show_in_rest”=>真,“single”=>真,“type”=>“string”,“默认”=>“https://wpmovies.dev/wp-content/uploads/2023/04/goncharov-poster-original-1-682x1024.jpeg',));
  1. 转到页面并插入图像块。
  2. 转到代码编辑器,通过添加元数据绑定属性将图像连接到自定义字段。它应该看起来像这样:
<!-- wp:image{“id”:134,“sizeSlug”:“large”,“linkDestination”:“none”,“metadata”:{“bindings”:{-“url”:{-source:“core/post-meta”,“args”:“key”:“url_custom_field”}},“alt”:{-source:“core/post-meta”<figure class=“wp-block-image size-large”><img src=“https://wpmovies.dev/wp-content/uploads/2023/04/goncharov-poster-original-1-682x1024.jpeg“alt=”alt-content“class=”wp-image-134“/></figure><!-- /wp:图像-->
  1. 保存页面并检查在前端是否使用了自定义字段中定义的URL。
  2. 对段落、标题和按钮块重复此过程。

复制链接

github操作 机器人程序 评论2024年4月29日

以下账户与本公关和/或相关问题进行了互动。当活动发生时,我将继续更新这些列表。您还可以通过添加支柱支架标签。

核心提交人:在SVN中提交时,使用此行作为道具的基础:

Props santosguillamot、gziolo、artemisons、cbravobernal。

为了理解WordPress项目对贡献者的期望,请查看核心手册中的贡献者归因页面.

复制链接

github操作 机器人程序 评论2024年4月29日

使用WordPress Playground进行测试

可以使用WordPress游戏场实例。

WordPress游戏场是一个完全在浏览器中创建完整WordPress实例的实验项目。

需要注意的一些事项

  • 无法在Playground中访问插件和主题目录。
  • 关闭带有Playground实例的选项卡时,所有更改都将丢失。
  • 刷新页面时,所有更改都将丢失。
  • 每次单击下面的链接时,都会创建一个新实例。
  • 每次更新此拉请求时,都会创建一个包含所有更改的新ZIP文件。如果Playground实例中没有反映更改,
    最新的构建可能失败或尚未完成。检查要确保的工作流运行列表.

有关这些限制的更多详细信息,请查看限制页面在WordPress Playground文档中。

用WordPress Playground测试这个拉请求.

复制链接
成员

@吉奥罗牌手表 吉奥罗牌手表 留下了评论

选择隐藏此评论的原因

将显示原因,以便向其他人描述此评论。了解更多信息.

这看起来很有希望。

src/wp-includes/class-wp-block.php 显示已解决 隐藏已解决
复制链接
成员

@吉奥罗牌手表 吉奥罗牌手表 留下了评论

选择隐藏此评论的原因

将显示原因,以便向其他人描述此评论。了解更多信息.

我们仍然需要提供另一种方法来暴露使用_上下文为块绑定源到客户端定义。以前,它是通过服务器上公开的块类型定义来处理的。在修订后的方法中,该信息仅在服务器上可用,因此可能会对现有块绑定源在编辑器中的工作方式产生一些影响。

tests/phpunit/tests/block-bindings/render.php 过时的 显示已解决 隐藏已解决
tests/phpunit/tests/block-bindings/render.php 过时的 显示已解决 隐藏已解决
@桑托斯·吉拉莫特
复制链接
作者

我一直在考虑揭露使用_上下文到客户端,我推送了一些更改以通过编辑器设置公开它:链接。这样,客户可以使用获取编辑器设置如前所述在这里.

可以使用编辑器设置吗?还有其他选择吗?

复制链接
成员

@吉奥罗牌手表 吉奥罗牌手表 留下了评论

选择隐藏此评论的原因

将显示原因,以便向其他人描述此评论。了解更多信息.

我留下了一些与公开块绑定设置和编辑器设置的想法相关的评论。

可以使用编辑器设置吗?还有其他选择吗?

我们对许多编辑器功能使用相同的方法,因此这应该是可以接受的方法。

src/wp-includes/块绑定.php 过时的 显示已解决 隐藏已解决
src/wp-includes/class-wp-block-bindings-registry.php 过时的 显示已解决 隐藏已解决
@桑托斯·吉拉莫特
复制链接
作者

我已经移动了逻辑,将编辑器设置中的绑定公开给另一个拉请求:#7020。这样做的目的是保留此项以更改处理上下文的方式。

复制链接

@蒿属 蒿属 留下了评论

选择隐藏此评论的原因

将显示原因,以便向其他人描述此评论。了解更多信息.

我觉得不错👍

@吉奥罗牌手表
复制链接
成员

@彼得威尔逊公司开的#7226在那里,他开始将WordPress包同步到WP6.7版本的WordPress-core。一旦达成协议,该公关需要重新设定基准,因为它已经报告了一些合并冲突,并准备好提交。

@卡布拉沃伯纳尔
复制链接
贡献者

@彼得威尔逊公司开的#7226在那里,他开始将WordPress包同步到WP6.7版本的WordPress-core。一旦达成协议,该公关需要重新设定基准,因为它已经报告了一些合并冲突,并准备好提交。

一旦准备好了,很高兴重新建立基础、审查和测试它。

@吉奥罗牌手表
复制链接
成员

是时候重新设置此分支并提交更改了🚀

@桑托斯·吉拉莫特
复制链接
作者

桑托斯·吉拉莫特 评论2024年9月20日

已重新定位🙂 让我们看看测试是否通过,但我认为应该准备好了。我现在正在测试它是否按预期工作。

@桑托斯·吉拉莫特
复制链接
作者

我一直在手动测试它,它看起来很好。如果我将图像连接到自定义字段,它会在编辑器和前端(服务器处理)中显示连接的值。

免费注册 在GitHub上加入此对话.已经有帐户了吗?登录以发表评论
标签
还没有
项目
还没有
开发

成功合并此请求可能会解决这些问题。

4名参与者