restrict core blocks to inner blocks of specified parent blocks. blocks blocks blocks

This commit is contained in:
2025-12-09 22:40:44 +00:00
parent 7d1beee2da
commit b16bd77355
7 changed files with 260 additions and 131 deletions

View File

@@ -1,23 +1,51 @@
import domReady from '@wordpress/dom-ready';
import blockWhitelist from '../json/core-block-whitelist.json';
domReady(() => {
const restrictEditorParentBlocks = (settings, name) => {
const TEXT_EDITOR_BLOCKS = blockWhitelist;
const TEXT_EDITOR_BLOCKS = [
// Design
'core/separator',
'core/spacer',
// Media
'core/cover',
'core/file',
'core/gallery',
'core/image',
'core/media-text',
'core/audio',
'core/video',
// Text
'core/footnotes',
'core/heading',
'core/list',
'core/code',
'core/details',
'core/freeform',
'core/list-item',
'core/missing',
'core/paragraph',
'core/preformatted',
'core/pullquote',
'core/quote',
'core/table',
'core/verse',
];
if (TEXT_EDITOR_BLOCKS.includes(name)) {
settings.parent = [
'acf/badegg-editor',
];
settings.parent = ['acf/badegg-editor']
}
// console.log(settings, name)
return settings
}
wp.hooks.addFilter(
'blocks.registerBlockType',
'badegg/restrict-parent-blocks',
'your-project-name/restrict-parent-blocks',
restrictEditorParentBlocks
);