Blockstudio
BlocksHooks

JavaScript Hooks

Blockstudio provides JavaScript hooks using the WordPress @wordpress/hooks package.

Using Hooks

import { addFilter, addAction } from '@wordpress/hooks';

// Add a filter
addFilter(
  'blockstudio.block.attributes',
  'my-plugin/modify-attributes',
  (attributes, block) => {
    // Modify attributes
    return attributes;
  }
);

// Add an action
addAction(
  'blockstudio.block.rendered',
  'my-plugin/on-rendered',
  (block) => {
    // Do something after block renders
  }
);

Available Filters

blockstudio.block.attributes

Modify block attributes before rendering.

addFilter(
  'blockstudio.block.attributes',
  'my-plugin/modify-attributes',
  (attributes, block) => {
    return {
      ...attributes,
      customValue: 'modified'
    };
  }
);

blockstudio.field.options

Modify field options dynamically.

addFilter(
  'blockstudio.field.options',
  'my-plugin/modify-options',
  (options, field, block) => {
    if (field.id === 'mySelect') {
      return [
        ...options,
        { value: 'new', label: 'New Option' }
      ];
    }
    return options;
  }
);

Available Actions

blockstudio.block.rendered

Fires after a block is rendered in the editor.

addAction(
  'blockstudio.block.rendered',
  'my-plugin/on-rendered',
  (block, element) => {
    console.log('Block rendered:', block.name);
  }
);

blockstudio.init

Fires when Blockstudio initializes.

addAction(
  'blockstudio.init',
  'my-plugin/on-init',
  () => {
    console.log('Blockstudio initialized');
  }
);

On this page