How to disable block directory?

Yes, it is possible. Excerpt from Editor Hooks → Block Directory in the block editor handbook: The Block Directory enables installing new block plugins from WordPress.org. It can be disabled by removing the actions that enqueue it. In WordPress core, the function is wp_enqueue_editor_block_directory_assets. To remove the feature, use remove_action, like this: <?php // my-plugin.php … Read more

How to set the margin on an innerBlock in a block variation?

If we create a paragraph and give it a margin of 2 ( default settings no custom scales or theme.json ) then we get this: <!– wp:paragraph {“style”:{“spacing”:{“margin”:{“top”:”var:preset|spacing|30″,”right”:”var:preset|spacing|30″,”bottom”:”var:preset|spacing|30″,”left”:”var:preset|spacing|30″}}}} –> <p style=”margin-top:var(–wp–preset–spacing–30);margin-right:var(–wp–preset–spacing–30);margin-bottom:var(–wp–preset–spacing–30);margin-left:var(–wp–preset–spacing–30)”>stuff</p> <!– /wp:paragraph –> It sounds reasonable to extract var(–wp–preset–spacing–30) from the style attribute but this wouldn’t be right, as that’s generated HTML. Instead we … Read more

Localising a Block

There are 2 main issues in your code: As stated in my answer, the script handle format is <block name with slashes replaced with hypens>-editor-script, so because your block name is my-block/local, then the script handle is my-block-local-editor-script and not my-block-local-edit-script. The correct action name is wp_enqueue_scripts (note the “s”) and not wp_enqueue_script. However, wp_enqueue_scripts … Read more

Full site editing templates folder vs block-templates

After some more checking, I found the issue. The repo I was setting up, was a template that will be used by other sites, so I saved it in a folder called templates (Full path: /Users/bas/git/work/templates/wp). In the wp-includes/block-template-utils.php the name/slug of the template is decided with the following code. $template_slug = substr( $template_file, // … Read more

What is the standard way to use the version of React that ships with Gutenberg on the front end?

I found it, wp-element. The @wordpress/scripts should handle the heavy lifting of transforming the JSX in the proper way. add_action( ‘wp_enqueue_scripts’, ‘my_enqueue_plugin_js’ ); // Loads on frontend function my_enqueue_plugin_js() { wp_enqueue_script( ‘my-plugin-frontend’, plugin_dir_url( __FILE__ ) . ‘js/plugin.js’, [‘wp-element’] ); } Once we do this we will have window.wp.element available in our JavaScript. This contains the … Read more