我正在使用InnerBlocks的模板,并添加预定义的属性,如标题级别和段落占位符:
const MY_TEMPLATE = [
[ 'core/image', {} ],
[ 'core/heading', { level: 3 } ],
[ 'core/paragraph', { placeholder: 'Summary' } ],
];
//...
edit: () => {
return (
<InnerBlocks
template={ MY_TEMPLATE }
templateLock="all"
/>
);
},
这很好,但我们如何为块支持添加预定义的值?
例如,当注册一个块时,我可以设置支持值:
supports: {
className: false // Remove the support for the generated className.
color: { // Text UI control is enabled.
background: false, // Disable background UI control.
gradients: true // Enable gradients UI control.
}
}
如何通过InnerBlocks模板设置支持值?例如,我想从块中删除默认的wp-block-
类名。我试过了:
const MY_TEMPLATE = [
[ 'my-block/icon', { supports: { classname: false } } ],
[ 'core/heading', {} ]
];
支撑不会传递到块。我怎样才能做到这一点?或者还有别的办法。
InnerBlocks的模板在supports: { classname: false }
中有一个小的拼写错误(区分大小写(,应该是className
:
const MY_TEMPLATE = [
[ 'my-block/icon', { supports: { className: false } } ],
...
];
支持的定义在您的my-block/icon
块注册中是正确的。假设save()
函数正确处理<InnerBlocks.Content>
,并修复了className的拼写错误,它应该可以工作。
当在编辑器视图中检查应用于块的类时,仍然会有更多的类(例如"wp-block-my-block等"(应用于块-它们是启用编辑器功能所必需的。要确认内部块上的支持是否有效,请在发布帖子/页面后检查前端应用的类。