Skip to content

Instantly share code, notes, and snippets.

@Dorf
Created July 15, 2023 18:08
Show Gist options
  • Save Dorf/f44bc2ce3988c834426bec96a8c37276 to your computer and use it in GitHub Desktop.
Save Dorf/f44bc2ce3988c834426bec96a8c37276 to your computer and use it in GitHub Desktop.
[Remove Blocks in Gutenberg] add to mu or functions #php #gutenberg #wordpress
/*
* Blacklist specific Gutenberg blocks
*
* @author Misha Rudrastyh
* @link https://rudrastyh.com/gutenberg/remove-default-blocks.html#blacklist-blocks
* @link https://wpturbo.dev/disable-wordpress-blocks/
*/
add_filter( 'allowed_block_types_all', 'misha_blacklist_blocks' );
function misha_blacklist_blocks( $allowed_blocks ) {
// get all the registered blocks
$blocks = WP_Block_Type_Registry::get_instance()->get_all_registered();
// output all the allowed blocks
var_dump( $blocks );
// then disable some of them
// disable media and text blocks
unset( $blocks[ 'core/audio' ] );
unset( $blocks[ 'core/verse' ] );
// disable widget blocks
unset( $blocks[ 'core/archives' ] );
unset( $blocks[ 'core/calendar' ] );
unset( $blocks[ 'core/categories' ] );
unset( $blocks[ 'core/latest-comments' ] );
unset( $blocks[ 'core/tag-cloud' ] );
// disable theme blocks
unset( $blocks[ 'core/avatar' ] );
unset( $blocks[ 'core/post-author' ] );
unset( $blocks[ 'core/comments-query-loop' ] );
unset( $blocks[ 'core/post-comments-form' ] );
unset( $blocks[ 'core/post-author-biography' ] );
// disable embed blocks
// unset( $blocks[ 'core/embed' ] );
//
// unset( $blocks[ 'core-embed/wordpress' ] );
// unset( $blocks[ 'core-embed/soundcloud' ] );
// unset( $blocks[ 'core-embed/spotify' ] );
// unset( $blocks[ 'core-embed/flickr' ] );
// unset( $blocks[ 'core-embed/vimeo' ] );
// unset( $blocks[ 'core-embed/animoto' ] );
// unset( $blocks[ 'core-embed/cloudup' ] );
// unset( $blocks[ 'core-embed/collegehumor' ] );
// unset( $blocks[ 'core-embed/dailymotion' ] );
// unset( $blocks[ 'core-embed/funnyordie' ] );
// unset( $blocks[ 'core-embed/hulu' ] );
// unset( $blocks[ 'core-embed/imgur' ] );
// unset( $blocks[ 'core-embed/issuu' ] );
// unset( $blocks[ 'core-embed/kickstarter' ] );
// unset( $blocks[ 'core-embed/meetup-com' ] );
// unset( $blocks[ 'core-embed/mixcloud' ] );
// unset( $blocks[ 'core-embed/photobucket' ] );
// unset( $blocks[ 'core-embed/polldaddy' ] );
// unset( $blocks[ 'core-embed/reddit' ] );
// unset( $blocks[ 'core-embed/reverbnation' ] );
// unset( $blocks[ 'core-embed/screencast' ] );
// unset( $blocks[ 'core-embed/scribd' ] );
// unset( $blocks[ 'core-embed/slideshare' ] );
// unset( $blocks[ 'core-embed/smugmug' ] );
// unset( $blocks[ 'core-embed/speaker' ] );
// unset( $blocks[ 'core-embed/ted' ] );
// unset( $blocks[ 'core-embed/tumblr' ] );
// unset( $blocks[ 'core-embed/videopress' ] );
// unset( $blocks[ 'core-embed/wordpress-tv' ] );
// return the new list of allowed blocks
return array_keys( $blocks );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment