Skip to content
PHP Filters

lzb/register_blocks

Filters the list of all LazyBlock blocks data specifically when registering blocks in the editor JS using registerBlockType(). This filter is used to extend block registration data with additional properties like relationship configurations, context data, and block restrictions.

Attributes

NameTypeDescription
$blocksArrayArray containing all LazyBlock blocks data used for editor registration

Usage

PHP
function my_lzb_register_blocks( $blocks ) {
  foreach ( $blocks as $key => $block ) {
    // Add relationship data to blocks
    if ( $block['id'] === 'my-block' ) {
      // Add context that this block provides
      $blocks[ $key ]['provides_context'] = array(
        'my-block/custom-data' => 'customData'
      );
 
      // Add context that this block uses
      $blocks[ $key ]['uses_context'] = array(
        'postId',
        'postType'
      );
 
      // Restrict allowed child blocks
      $blocks[ $key ]['allowed_blocks'] = array(
        'core/paragraph',
        'core/heading'
      );
 
      // Set required ancestor blocks
      $blocks[ $key ]['ancestor'] = array(
        'core/group'
      );
    }
  }
 
  return $blocks;
}
 
add_filter( 'lzb/register_blocks', 'my_lzb_register_blocks', 10, 1 );

Was this article helpful?