我有一个自定义块,创建一个3列模板与InnerBlocks
和templateLock="all"
属性,以避免用户移动/删除或添加模板中的东西。它用来正确地工作在WordPress 6.0.3(和bellow)但后来当我更新到6. 1. 1时,它出现了问题。而不是锁定模板并显示我应该能够添加其他块的列,它会隐藏新插入的列,使它们在编辑器中不可选。
下面是创建innerBlocks的方法
<window.wp.blockEditor.InnerBlocks
template={new Array(3).fill(['core/column', {}])}
templateLock="all"
/>
下面是我复制块时得到的结果
<!-- wp:attest/grid-columns {"numColumnsStr":"3"} -->
<div class="grid grid--columns-3"><!-- wp:column -->
<div class="wp-block-column"></div>
<!-- /wp:column -->
<!-- wp:column -->
<div class="wp-block-column"></div>
<!-- /wp:column -->
<!-- wp:column -->
<div class="wp-block-column"></div>
<!-- /wp:column --></div>
<!-- /wp:attest/grid-columns -->
我试着看看WordPress 6.0.3以来的变化,但找不到有用的东西。
谢谢你的帮助。
1条答案
按热度按时间j8ag8udp1#
实际上,子块继承自父块的
templateLock
属性,所以列是存在的,它们只是被锁定,当它们被新插入时,它们是空的,因此呈现为不可见。因此,想法是默认解锁core/column
块及其(未来)子块。以下是我更新的代码