问题描述
我对古腾堡(Gutenberg)完全陌生,需要在设置部分添加新标签,请检查此屏幕截图
我为古腾堡创建了一些街区,但没有经验。我尝试了这段代码
import { TabPanel } from '@wordpress/components';
const onSelect = ( tabName ) => {
console.log( 'Selecting tab',tabName );
};
const MyTabPanel = () => (
<TabPanel className="my-tab-panel"
activeClass="active-tab"
onSelect={ onSelect }
tabs={ [
{
name: 'tab1',title: 'Tab 1',className: 'tab-one',},{
name: 'tab2',title: 'Tab 2',className: 'tab-two',] }>
{
( tab ) => <p>{ tab.title }</p>
}
</TabPanel>
);
但是没有帮助我。这里的任何人请帮助我。 预先感谢
解决方法
在您提供的屏幕截图中,您试图添加标签的位置是“设置标题” (gutenberg/packages/edit-post/src/components/sidebar/settings-header)当前在Gutenberg API中没有扩展的插槽(尽管可以这样做,但最好不要干扰核心UI )。
添加到管理界面的首选方法是将提供的SlotFill用于自定义内容,目前有:
- PluginBlockSettingsMenuItem
- PluginDocumentSettingPanel
- PluginMoreMenuItem
- PluginPostPublishPanel
- PluginPostStatusInfo
- PluginPrePublishPanel
- PluginSidebar
- PluginSidebarMoreMenuItem
PluginSidebar slot对于添加特定于插件/块目的自定义内容很有用。要考虑的主要点是,您希望添加的内容是仅应用于块,整个帖子/页面还是与插件相关的其他“全局”设置。
如果您的内容适用于整个帖子/页面,则PluginPostStatusInfo slot可能是一个不错的添加位置。您也可以添加自己的Panel,该标签会显示在“文档”标签下。
如果内容是特定于块的,则可以使用来在“块”选项卡下添加自定义控件,这些控件根据上下文显示在选择块时。对于特定于块的元字段值或与块相关的颜色/显示选项的自定义控件,这也是一个好地方。
WordPress的官方古登堡文档也有一个关于Block Controls: Block Toolbar and Settings Sidebar的教程,其中介绍了一些常见的场景,可以在Blocks中添加自己的设置。