Skip to content

Instantly share code, notes, and snippets.

@benplum
Last active May 8, 2022 15:01
Show Gist options
  • Save benplum/ad3da30275cb4d94f1c7e0c740ab63cb to your computer and use it in GitHub Desktop.
Save benplum/ad3da30275cb4d94f1c7e0c740ab63cb to your computer and use it in GitHub Desktop.
Block Editor - Disable Core Blocks
<?php
function editor_disable_core_blocks() {
$blacklist = array(
// -- Common
'core/paragraph',
'core/image',
'core/heading',
'core/subhead',
'core/gallery',
'core/list',
'core/quote',
'core/audio',
'core/cover',
'core/file',
'core/video',
// -- Formatting
'core/table',
'core/verse',
'core/code',
'core/freeform',
'core/html',
'core/preformatted',
'core/pullquote',
// -- Layout
'core/columns',
'core/column',
'core/buttons',
'core/button',
'core/group',
'core/media-text',
'core/text-columns',
'core/more',
'core/nextpage',
'core/separator',
'core/spacer',
// -- Widgets
'core/social-links',
'core/shortcode',
'core/archives',
'core/categories',
'core/latest-comments',
'core/latest-posts',
'core/calendar',
'core/rss',
'core/search',
'core/tag-cloud',
// -- Embeds
'core/embed',
'core-embed/twitter',
'core-embed/youtube',
'core-embed/facebook',
'core-embed/instagram',
'core-embed/wordpress',
'core-embed/soundcloud',
'core-embed/spotify',
'core-embed/flickr',
'core-embed/vimeo',
'core-embed/animoto',
'core-embed/cloudup',
'core-embed/collegehumor',
'core-embed/dailymotion',
'core-embed/funnyordie',
'core-embed/hulu',
'core-embed/imgur',
'core-embed/issuu',
'core-embed/kickstarter',
'core-embed/meetup-com',
'core-embed/mixcloud',
'core-embed/photobucket',
'core-embed/polldaddy',
'core-embed/reddit',
'core-embed/reverbnation',
'core-embed/screencast',
'core-embed/scribd',
'core-embed/slideshare',
'core-embed/smugmug',
'core-embed/speaker',
'core-embed/ted',
'core-embed/tumblr',
'core-embed/videopress',
'core-embed/wordpress-tv',
'core-embed/amazon-kindle',
'core-embed/tiktok',
'core-embed/speaker-deck',
'core-embed/crowdsignal',
);
?>
<script>
var blocksBlacklist = <?php echo json_encode( $blacklist ); ?>;
wp.blocks.getBlockTypes().forEach(function(blockType) {
if (blocksBlacklist.indexOf(blockType.name) >= 0 ) {
wp.blocks.unregisterBlockType(blockType.name);
}
});
wp.hooks.addFilter('blocks.registerBlockType', 'modifyBlockType', function(settings, name) {
if (blocksBlacklist.indexOf(name) > -1) {
settings = $.extend(true, settings, {
supports: {
inserter: false
}
});
}
return settings;
});
</script>
<?php
}
add_action( 'print_default_editor_scripts', 'editor_disable_core_blocks', 999 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment