我们阅读了每一条反馈,并非常认真地对待您的意见。
要查看所有可用的限定符,请参阅我们的文档.
有关于这个项目的问题吗?注册一个免费的GitHub帐户以打开一个问题,并联系其维护者和社区。
单击“注册GitHub”,表示您同意我们的服务条款和隐私声明。我们偶尔会向您发送与帐户相关的电子邮件。
已经在GitHub上了?登录到您的帐户
部分:
与以下内容相关:
编辑:连接块属性和自定义字段,以及块绑定API跟踪问题已合并到这部史诗中,因为它们高度相关,而且似乎更容易遵循将所有内容置于同一讨论之下。
本期旨在跟踪并讨论如何将块属性与自定义/元字段连接起来,以及块绑定API应该如何工作。它包括为此所需的任务列表,我们将在此处共享有关进度的更新。
有关块绑定API推理的更多上下文,可以查看其原始跟踪问题.
这是一个与块绑定API相关的需要考虑的事项/问题列表,我们将不断更新:
有几件事很重要:
WP_块绑定_注册表
工作包块类型注册表
strcasecmp公司
WP块绑定源
集合属性
查询Id
使用绑定属性
本节将用于跟踪WordPress 6.6可能解决的问题。
正如本评论中所解释的,其思想是限制范围,并在发布周期结束时有时间的话,开发更多功能。
初始计划
请记住,这不是一成不变的,它可能会改变。最初的想法是关注这些方面:
抛光现有代码
超文本
并在以下方面开展工作:
超出6.6的范围
为了限制此简短版本的范围,我们的想法是只有在完成前面的几点之后才能使用这些功能:
网站url
字段id
文本已成功更新,但遇到以下错误:
我们可以从一个简单的实验版本开始,它可以通过古腾堡→实验激活,从而启动项目。我们的目标是:
<!-- wp:段落 { “连接”:{ “属性”:{ “内容”:{ “source”:“meta_fields”, “值”:“my_custom_field” } } } } -->
请记住,这只是一个例子,我们必须讨论API应该是什么样子。此外,它可能需要在块本身中添加对这些连接的支持。
对于这第一个实验性MVP,我将把以下内容排除在范围之外:
不支持从编辑器中读取/写入自定义字段值:我们无法读取自定义字段的值或从编辑器更新其值。我们可以在编辑器中使用占位符(在前端应该可以正确显示)。让它在编辑器中工作更为棘手,我们可能会遇到一些可以在下一次迭代中解决的阻塞。
不显示可用自定义字段的列表:出于同样的原因,我建议使用文本输入,并让用户负责它在这个初始阶段匹配现有的自定义字段。
对不起,出了点问题。
顺便说一下元属性源只是WP 5.4中已弃用,核心仍然保持向后兼容性.
元
当时我没有积极参与这个项目,所以我不记得为什么要反对。我们可能应该挖掘旧的PR并进行检查。
非常感谢分享!🙂 我一直在查看旧的PR,似乎此请求中添加了弃用:链接。我一直在阅读不同的对话,如开发人员备注,似乎是为了支持实体提供者。这应该是“为从WordPress实体和数据的不同属性中获取数据的构建块提供了一种更加灵活和强大的方法。”但我也没有参与这个项目,而且我找不到太多信息,所以我可能会遗漏一些东西。
实体提供者
无论如何,我相信这里的情况与元属性源。在这种情况下,我们希望通常不连接到元字段的块属性可以根据用户的需要进行操作。如果我们以段落内容为例,它使用来源:html。在大多数情况下,用户希望使用当前使用的段落块,但如果需要,可以通过编辑器中的UI将其连接到元字段(例如Post Except)。
来源:html
除此之外,块使用旧的元source也会继续工作。只是这些属性没有UI来连接到不同的元字段。如果我们认为这是一种需要,我们可以探索如何在未来也支持这一点。
我已打开PR以允许连接网址将图像块的属性设置为自定义字段:
网址
顺便说一下,元属性源只是WP 5.4中已弃用,核心仍然保持向后兼容性.
@mcsf公司应该是最好的联系人,以防您需要了解详细信息。下面是初始实现#2740.
已经有很长时间了,我的记忆模糊,但我认为由于以下因素的组合,原始元源已被弃用:
我认为,与这个新提议相比,元源的主要问题是,它需要人们通过显式地将给定的属性标记为“元”属性来实际编写一个新的块。而这个新建议允许将源设置为现有块的属性(无需编写新块)。
@桑托斯·吉拉莫特,@波利克我添加了一个部分同步的跟踪问题,这将与此工作有一些重叠。
我想分享到目前为止所做工作的更新:
将段落内容与自定义字段连接的第一个实现已合并。这是一个非常基本的MVP,它将让我们在其之上构建其余部分。请记住,这只是一个测试技术部分的MVP。它将发生变化,尤其是编辑器UX。这是此初始版本工作原理的快速演示:
我创建了一个自定义字段“custom_text”,其值为“custom text value”
除此之外,还有一个正在进行的PR,可以连接图像块URL:链接.
此外,@格伦达维森茨已开始尝试将此机制用于部分同步模式的可能性,并为此工作创建了一个跟踪问题:链接根据第一印象,这似乎可行。
潜在的下一步行动可能是:
_wp_附件_文件
_wp_附件_元数据
显示_重置
为了反映超出自定义字段的功能的一般性质,@桑托斯·吉拉莫特我提议称之为“块绑定".
结合
这个名称不应该作为最终名称,而应该更多地作为一个代号,它为我们提供了一种以一致的方式引用组合努力的方式。
在这里,大多数人同意超越自定义字段的思想,绑定也可以用于其他用例
在考虑了这一点并着手实现自定义字段的第一个实现之后,我相信我们可以区分块绑定API和自定义字段:
具有这种区别应有助于澄清每个项目的范围以及它们之间的关系。如果足够清楚,请告诉我们。
我更新了开场白以反映这一点,并将部分讨论移至块绑定API问题.
设置块属性
动态内容
我们希望包含之间绑定的初始版本自定义字段和块在WordPress 6.5中。我们已经对前面解释的实现进行了试验,我们有足够的信心开始开发一个要包含在WordPress 6.5中的版本。
提醒一下,此功能旨在创建一种连接块属性和自定义字段/元数据的简单方法。想象一下这样的情况:
记住,UI仍然需要讨论,这只是为了解释
当元数据的值根据上下文更改时,这些绑定特别有用。例如,在查询循环或模板内部。假设一个用户想要创建这样一个电影的查询循环:
现在,他们需要为发布日期、运行时、预告片按钮或与电影相关的任何其他信息创建自定义块。
使用这个初始版本,用户可以使用自定义字段绑定块,每个电影的值都可以轻松更改,从而大大简化了过程。他们只需要使用一个查询循环,核心块连接到自定义字段:
整个自定义字段和块项目可能会很大,因为它涵盖了很多东西。我相信我们可以从小处着手,逐步实现新功能这样,我们可以为用户增加价值,并尽快收到反馈。
我正在分享我认为对6.5来说现实的阶段。但正如我所提到的,我们可以一个接一个地接近他们,并尽可能走得更远。如果我们只达到第2阶段,那将比我们现在的要好得多,并且可以在以后的版本中进行改进。
我在每个阶段都包括了一些我们应该考虑的定向事项/问题,尽管我们会在取得进展并发现需要做的其他事情后编辑此问题,有些可能会推迟到以后的阶段。
与这些任务相关的进度和更新将在开篇帖子中共享。
其思想是用户可以通过新的“bindings”块属性添加绑定。在这一点上,有几点很重要:
考虑到这一点,下面列出了需要考虑的事项:
元数据
我们可以从视频中显示的基本下拉列表开始,而无需编辑其值。
一旦我们对解决方案有足够的信心,我们就可以专注于为更多核心模块添加支持。
有了这些阶段,6.5已经有很多工作要做了。对于下一个版本,我们可以继续进行此工作,处理剩余的任务,并探索解决以下新任务的可能性:
无论如何,我们可以在6.5发布后对此进行深入分析,这样我们就有了一个更好的画面。或者,如果我们觉得它们足够重要,甚至可以重新考虑在6.5中包含其中一些。
我更新了开篇帖子以反映这一点
@桑托斯·吉拉莫特这看起来不错!您认为现有的meta将如何与此配合使用?有什么方法可以将元字段标记为应显示在可绑定字段列表中的字段吗?
ACF目前使用传统的metabox支持页面范围的meta,但如果我们可以添加一种“渐进增强”方式,以便在用户更改字段时实时更新meta,我们可以这样做,以便它们从ACF中所做的更改立即在绑定属性上可见-这需要一个JS api来触发元值更新事件,每个使用该事件的块都订阅了该事件。
块属性对这些绑定进行操作的机制。
假设这是其他块和第三方块允许从元字段的“链接”按钮中选择其属性的方法?
获取编辑器中可用元数据字段的机制。
我认为REST在这里很有意义,但应该有一种方法让第三方插件(如ACF)向其添加字段。出于遗留数据和字段位置的原因,ACF不使用寄存器字段-因此,我们必须通过在此处可用的字段中挂钩来添加对此的支持。
寄存器字段
是否有方法指定哪些字段可用于哪些块?例如,您只希望可以将兼容的图像字段设置为图像的源。
对不起,这里有半条垃圾邮件。Toolset通过其动态源.
在2020-2021年开发Toolset时,我是该工具集的团队负责人,如果这里有人感兴趣,我可以举出几个开发人员,他们可以对该阶段的实现思想和优势提供宝贵的反馈。
@勒格拉迪非常感谢您提出这些问题!我将尝试逐一解决这些问题,但我想首先指出,我们仍然需要讨论和决定大多数事情🙂
您认为现有的meta将如何与此配合使用?是否有某种方法可以将元字段标记为应显示在可绑定字段列表中的字段?
在PHP方面,我们考虑使用get_metadata函数或获取post_metaACF是否可以通过该功能访问?
在编辑器方面,一个想法是使用RESTAPI获取给定上下文的可用字段列表。我假设这里公开的任何字段都应该在可绑定字段列表中可用。
除此之外,如果插件需要更多自定义功能,我们正在考虑创建一种机制来添加不同的源代码块绑定API例如,如果我们认为这是一种更好的方法,我们可以探索拥有“ACF”来源的可能性。
无论如何,这是我们必须深入探索的东西,我们必须更好地了解像ACF这样的插件是如何工作的。
这需要一个JSapi来触发元值更新事件,每个使用该事件的块都订阅了该事件。
这可能有道理🙂 将其添加到要考虑的事项列表中。
块属性对这些绑定进行操作的机制。 假设这是其他块和第三方块允许从元字段的“链接”按钮中选择其属性的方法?
最终目标是,任何块都可以决定可以连接哪些属性。但对于第一个版本,我们将把它限制在几个核心块中,在这些块中,一切都处于控制之下。使绑定在任何块中工作都有点棘手,应该谨慎进行。中有关于此的更多信息块绑定API问题.
但是应该有一种方法让第三方插件(如ACF)向其添加字段。由于遗留数据和字段位置的原因,ACF不使用register_field,因此我们必须通过在此处可用的字段中挂钩来添加对此的支持。
完全同意。我们必须确保我们提供的任何插件(如ACF)都能尽可能顺利地工作。
我们肯定应该探索这种可能性,并分析如何处理类型和验证。我认为,这可以在稍后阶段完成。同时,我们可以使用自己的块作为“验证器”。例如,如果我将一个图像连接到一个不是URL的字段,那么块将失败并返回错误。我制作了一个快速视频来表达我的意思:
对不起,这里有半条垃圾邮件。Toolset通过其动态源. 在2020-2021年开发Toolset时,我是该工具集的团队负责人,如果这里有人感兴趣,我可以举出几个开发人员,他们可以对该阶段的实现思想和优势提供宝贵的反馈。
@解码kult看起来很棒!我们收到的关于用户体验、需要考虑的事项或开发的所有反馈都非常受欢迎🙂
谢谢你的回复@桑托斯·吉拉莫特! 这都是合乎逻辑的。
我也非常乐意在这里帮助编写代码,并将尽力确保ACF在发布时也能顺利进行。我热衷于在块编辑器中改进元工作,所以我会尽我所能在这里提供帮助!
在PHP方面,我们考虑使用getmetadata函数或获取post_metaACF是否可以通过该功能访问? 在编辑器方面,一个想法是使用RESTAPI获取给定上下文的可用字段列表。我假设这里公开的任何字段都应该在可绑定字段列表中可用。
在PHP方面,我们考虑使用getmetadata函数或获取post_metaACF是否可以通过该功能访问?
特别是关于ACF的问题,是的-获取post_meta将为您提供ACF的原始数据库值,因此我们希望在此处顶部添加一层(可能通过PHP端的最终返回过滤器?)以截取并相应地转换(这类似于数据/时间字符串的返回格式等)
获取post_meta
除此之外,如果插件需要更多自定义功能,我们正在考虑创建一种机制来添加不同的源代码#54536例如,如果我们认为这是一种更好的方法,我们可以探索拥有“ACF”来源的可能性。
这将很酷,不仅适用于ACF,还适用于其他元插件。如果插件可以将自己注册为元的源,并以某种方式处理该位置可用的元。
我更新了以前的#53300(评论)为了明确支持的属性列表适用于所有注册源:
-重要的是要记住,在此初始版本中,只能连接几个块属性: +重要的是要记住,在此初始版本中,只有少数块属性可以与所有类型的注册源连接:
现在我们已经过了Beta 1的截止点,我将从6.5项目板中删除此跟踪问题。从现在开始,董事会应该只包含我们仍然希望在6.5发布之前修复的个别错误。
使用_上下文
当绑定存在时,能够编辑自定义字段的值:该功能在编码时考虑到了这一点,但它没有包含在这个初始版本中,以确保它按预期工作。
@桑托斯·吉拉莫特我们对此有什么具体的问题/讨论吗?我在回购中找不到。
如果还没有,我强烈建议在“站点编辑器”>“页面”中包含自定义字段的更新行为。目前,我们只能编辑页面的标题和内容。但如果我们也能在那里编辑自定义字段值,那将是一次真正的所见即所得的编辑体验。顺便说一句,只处理内容的编辑不必担心破坏模板。
此外,如果将来我们不仅支持页面,还支持在站点编辑器中编辑其他类型的帖子,我们就可以为站点上的任何类型的内容(如产品或事件)提供实时编辑体验。
我对使用自定义字段和阻止绑定API进行编辑的未来感到非常兴奋。感谢所有相关人员所做的精彩工作!
@丁吞都为了使除特征图像、标题和内容外的其他块可编辑,我们需要解决#59290
我打开了这个实验探索其工作原理这种重构.
我相信这是可行的,并且在测试中效果很好。这是我肯定想深入探索的东西。然而,我认为在WordPress 6.5中包含这种可能性还为时过早。在添加该功能之前,我们还需要澄清一些不确定性,似乎最好等待以确保任何土地都能按预期工作,并且它是向后兼容的。
既然测试阶段已经结束,我们只能修复关键的错误,现在是时候总结一下这段时间内解决的最重要的问题了。
除此之外,还创建了一些资源来更好地了解自定义字段和绑定:
从这里开始,我将在开篇评论中总结WordPress 6.5,并将此问题转化为一个重大问题,以跟踪自定义字段项目和块绑定API的即将发布的版本。它们高度相关,如果在同一地点进行讨论,似乎更容易理解。
此外,我计划发布另一条评论,其中包含WordPress 6.6的想法,并更新开头的评论。
现在WordPress 6.5即将推出,是时候开始计划6.6了。
重要的是要记住,这是一个简短的版本。WordPress 6.6 Beta 1预计日期为6月4日。我认为我们应该在两周前做好准备,以便在古腾堡对其进行适当测试。这给我们留下了几个月的时间。
因此,如果最终有足够的带宽,我希望保持范围紧凑,并逐步处理其他事情。
话虽如此,但我认为这些问题更为重要:
我相信,如果这是在WordPress 6.6中发布的,它将是对现有功能的一个很好的迭代。
从那以后,如果我们有信心并且还有时间,我们可以在其他方面进行工作,比如以下方面。但我认为它们暂时不在范围之内:
真实的
假
尽管如此,任何反馈都是非常受欢迎的。重要的是要注意,规划可能会基于此而改变🙂
像往常一样,我们会尽量让开场白随进度更新,并在这个帖子中发布更新。
@桑托斯·吉拉莫特我觉得添加绑定的UI可能比更新值更重要。
现在,存在第三方插件创建自己的绑定UI的风险,我们最终会为每个绑定源插件加载不同的变体。
我宁愿花时间为核心目标做出贡献,也不愿尝试在ACF中更快地发布内容。这也是我们团队中对实验性绑定支持插件最感兴趣的一个问题。这也是wptavern关于绑定的文章中的第一个问题,其中有人询问如何创建自己的UI来添加绑定。
我同意这一点,这是我第一次考虑建造😅 创建插件开发人员可以扩展的标准化UI非常重要。
非常感谢您的反馈🙂
我同意拥有一个UI来创建可由插件开发人员扩展的绑定非常重要。你的观点很好。让我分享一下为什么我考虑首先处理编辑部分的一些原因:
话虽如此,我们可能应该开始探索它的外观和实现方式,但我不确定6.6版是否可行。我只是想现实一点,考虑到我们目前在这个项目上拥有的资源。我非常高兴开始这些对话,努力澄清不确定性,并推动这一进程。
wp:块
我觉得添加绑定的UI可能比更新值更重要。 现在,存在第三方插件创建自己的绑定UI的风险,我们最终会为每个绑定源插件加载不同的变体。
我觉得添加绑定的UI可能比更新值更重要。
感谢您对此的反馈。有一些原型,所以花点时间在Gutenberg插件中创建一个实验,以收集关于迄今为止所考虑的方法之一的反馈可能是一个好主意。
添加挂钩以检查绑定存在时何时锁定控件:链接. 使用RichText标识符检查是否应将其设置为不可编辑:链接. 探索如何抽象控件的锁定:模式覆盖和块绑定等功能对块UI的控制有限 #58233.
清单上的这三项是相关的。事实上,我对#58233,重新共享链接到我对PR的评论的项目。我认为将他们分组会有帮助,例如:
有了这些更改,可以更容易地将块绑定打开到新的核心块。
嘿,伙计们!对于6.6,你们能不能创建一个新的史诗般的问题,概述正在考虑的问题,并结束这个问题?这将帮助我们了解每个版本的功能范围随时间推移的进展情况,并帮助确保评论中的任何讨论都与当前版本相关。
嘿,伙计们!对于6.6,你们能不能创建一个新的史诗般的问题,概述正在考虑的问题,并结束这个问题?
按照这里的建议,在与@普里索尔,我将作为WP 6.5的一个迭代来结束这个问题。我打开了两个新问题:
桑托斯·吉拉莫特
没有分支或拉请求