Skip to content

Instantly share code, notes, and snippets.

@Luehrsen
Created February 16, 2022 20:56
Show Gist options
  • Save Luehrsen/c4aad3b33435058c19ea80f5f1c268e8 to your computer and use it in GitHub Desktop.
Save Luehrsen/c4aad3b33435058c19ea80f5f1c268e8 to your computer and use it in GitHub Desktop.
A hacky way how to return to formerly expected behaviour for the group block for the WordPress block editor.
/**
* @type {string[]} Array of block names that should be excluded from the layout settings.
*/
const haystack = ['core/group'];
wp.hooks.addFilter(
'blocks.registerBlockType',
'lh/fseFixes/layoutSettings',
(settings, name) => {
if (!haystack.includes(name)) {
return settings;
}
const newSettings = {
...settings,
supports: {
...(settings.supports || {}),
layout: {
...(settings.supports.layout || {}),
allowEditing: false,
allowSwitching: false,
allowInheriting: true,
},
__experimentalLayout: {
...(settings.supports.__experimentalLayout || {}),
allowEditing: false,
allowSwitching: false,
allowInheriting: true,
},
},
};
return newSettings;
},
20
);
wp.hooks.addFilter(
'blocks.getBlockAttributes',
'lh/fseFixes',
(attributes, blockType) => {
if (!haystack.includes(blockType.name)) {
return attributes;
}
attributes = {
...attributes,
layout: {
inherit: true,
},
};
return attributes;
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment