The Gutenberg editor comes with a whole bunch of useful blocks by default but you might not want to use them all.

Typically you’ll want to only allow specific blocks when customizing the CMS for a client. Why display 200 blocks when all you need are 8?

Removing Blocks from the Inserter

Using the function below you can specify which blocks are visible and allowed in the block inserter menu.

In the array you’ll specify the block name(s), block names must contain a namespace prefix like my-plugin/my-custom-block

function misha_allowed_block_types( $allowed_blocks ) {
	return array(
		'core/image',
		'core/paragraph',
		'core/heading',
		'core/list'
	);
}

add_filter( 'allowed_block_types', 'misha_allowed_block_types' );

Credit: https://rudrastyh.com/gutenberg/remove-default-blocks.html

Finding a block’s name

There are lots of blog posts with lists all the default Gutenberg block names but these will quickly become outdated once new blocks are added.

Here are three ways you can get the block names:

PHP

Place this code in your functions.php file. It will output all the block names used in a specific post.

The block names will be outputted at the button of your single post.

Ideally, you’ll only do this on a local copy of your website. For safety, the output will only be visible to administrators users.

if ( current_user_can('manage_options') ){
	function chrisyee_output_block_names(){
		global $post;

		if( has_blocks( $post->post_content ) ){
		    $blocks = parse_blocks( $post->post_content );

		    echo '<ul>';
		    foreach( $blocks as $block ){
		    	if( isset( $block['blockName'] ) ){
		    		echo '<li>' . $block['blockName'] . '</li>';
		    	}
		    }
		    echo '</ul>';
		}

	}
	add_action( 'wp_footer', 'chrisyee_output_block_names' );
}

JS

Copy + paste the JS code into your browser’s console to view all available block names.

wp.blocks.getBlockTypes().forEach( function( blockType ){ console.log( blockType.name ); }); 

Credit: https://wordpress.stackexchange.com/a/326969

Chrome Developer Tools

If you inspect the block with Chrome Developer Tools (or any modern browser) you can get the block name by looking for the data-type attribute.

<div id="block-b9ce2312-d34d-4f81-a27b-9885348cb2b7" class="wp-block editor-block-list__block is-selected" data-type="core/code" tabindex="0" aria-label="Block: Code">...</div>

In the example above the data-type attribute for the code block is core/code