古登堡在类别之间移动核心块

时间:2018-12-07 作者:SamXronn

我已经限制了一些默认的核心古腾堡块,因为很多对我的客户来说都是不必要的,这只会增加新编辑器的混乱。

其结果是一些核心类别内部只有一个块,例如,“格式化”只有一个表。

是否可以编辑/删除核心块类别并移动单个类别下的所有块??

限制我的区块;

add_filter( \'allowed_block_types\', \'res_allowed_block_types\' );
function res_allowed_block_types( $allowed_blocks ) {
    return array(
        \'core/image\',
        \'core/paragraph\',
        \'core/heading\',
        \'core/list\',
        \'core/quote\',
        \'core/cover-image\',
        \'core/file\',
        \'core/video\',
        \'core/table\',
        \'core/separator\',
    );
}

1 个回复
SO网友:jrmd

虽然我不确定如何在php中实现这一点,但在javascript中,您可以通过挂接到blocks.registerBlockType

下面是一个小示例,它是如何工作的,尽管我建议使用lodash来深度克隆settings对象,以保持一切不变。

const rearrangeBlockCategories = {
  \'core/table\': \'common\',
};

wp.hooks.addFilter(\'blocks.registerBlockType\', \'[namespace]\', (settings, name) => {
  if (rearrangeBlockCategories[name]) {
    settings.category = rearrangeBlockCategories[name];  
  }

  return settings;

});

相关推荐