我写信是想看看是否有更“WordPress”的方式来包装在 WordPress 中使用 Gutenberg 创建的块。
到目前为止,我的方法是使用“HTML 块”添加一个打开的 div,然后创建该块,最后,我用另一个 HTML 块关闭该 div。
这是在 div 中包装块元素的可接受方式吗?我的方法可以按我的意愿工作,但我想知道是否有我没见过的推荐替代方法?
我写信是想看看是否有更“WordPress”的方式来包装在 WordPress 中使用 Gutenberg 创建的块。
到目前为止,我的方法是使用“HTML 块”添加一个打开的 div,然后创建该块,最后,我用另一个 HTML 块关闭该 div。
这是在 div 中包装块元素的可接受方式吗?我的方法可以按我的意愿工作,但我想知道是否有我没见过的推荐替代方法?
您正在寻找的是内部块。它是一种将块组合在一起的包装器。
这是古腾堡第二阶段开发的重点。开发人员可以使用预定义的内部块创建父块,以平滑用户的页面设置过程。
import { registerBlockType } from '@wordpress/blocks';
import { InnerBlocks } from '@wordpress/editor';
const ALLOWED_BLOCKS = [ 'core/image', 'core/paragraph' ];
<InnerBlocks
allowedBlocks={ ALLOWED_BLOCKS }
/>
registerBlockType( 'my-plugin/my-block', {
// ...
edit( { className } ) {
return (
<div className={ className }>
<InnerBlocks />
</div>
);
},
save() {
return (
<div>
<InnerBlocks.Content />
</div>
);
}
} );
您可以创建阻止并将它们添加到此允许的阻止列表中,并且以这种方式。您将有一个围绕几个块的父包装器。