Skip to content

Instantly share code, notes, and snippets.

@DavidPeralvarez
Last active September 20, 2022 08:04
Show Gist options
  • Save DavidPeralvarez/37c8c148f890d946fadb2c25589baf00 to your computer and use it in GitHub Desktop.
Save DavidPeralvarez/37c8c148f890d946fadb2c25589baf00 to your computer and use it in GitHub Desktop.
Gutenberg core blocks list
// Útil para filtros de Gutenberg como "allowed_block_types"
archives
audio
button
categories
code
column
columns
coverImage
embed
file
freeform
gallery
heading
html
image
latestComments
latestPosts
list
more
nextpage
paragraph
preformatted
pullquote
quote
reusableBlock
separator
shortcode
spacer
subhead
table
textColumns
verse
video
<?php
// Filtro para limitar el tipo de bloques que admite un CPT 'libro'.
function scv_allowed_block_types( $allowed_block_types, $post ) {
if ( $post->post_type === 'libro' ) {
return array(
'core/paragraph',
'core/image',
'core/list'
);
}
return $allowed_block_types;
}
add_filter( 'allowed_block_types', 'scv_allowed_block_types', 10, 2 );
@MinSomai
Copy link

I had to add more hooks for js file. Allows only the 'youtube' embed.

add_action('enqueue_block_editor_assets', function() {
  wp_enqueue_script('theme-block-scripts-unregister', get_template_directory_uri() . '/assets/js/admin-embed-block-unregister.js', ['wp-blocks', 'wp-element', 'wp-dom-ready', 'wp-edit-post']);
});
document.addEventListener("DOMContentLoaded", function () {
  wp.domReady(function () {
    const allowedEmbedBlocks = ["youtube"];
    const blocks = wp.blocks.getBlockVariations("core/embed");
    blocks?.forEach(function (blockVariation) {
      if (-1 === allowedEmbedBlocks.indexOf(blockVariation.name)) {
        wp.blocks.unregisterBlockVariation("core/embed", blockVariation.name);
      }
    });
  });
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment