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');
}
);