get_post_gallery with Gutenberg

Using birgire’s suggestions, I came up with the following solution that is working well with both the old pre-WP 4.x data and the newer posts that have been added under 5.0. // if there is a gallery block do this if (has_block(‘gallery’, $post->post_content)) { $post_blocks = parse_blocks($post->post_content); $ids = $post_blocks[0][attrs][ids]; } // if there is … Read more

Gutenberg add a custom metabox to default blocks

Using filters we can modify the props and attributes of blocks. First we extend the attributes to include the new attribute: const { addFilter } = wp.hooks; // Register/add the new attribute. const addExtraAttribute = props => { const attributes = { …props.attributes, extra_attribute: { type: “string”, default: “default_value” } }; return { …props, attributes … Read more

How To Have Two Gutenberg Editors On One Post?

You could add some kind of separator (a separator block?) in Gutenberg, then filter the_content() to check for the separator to display each half, by setting a switch on the first half and detecting it for the second: add_filter(‘the_content’, ‘content_splitter’); function content_splitter($content) { $separator = “<!– wp:core/separator”; $pos = strpos($content, $separator); if ($pos !== false) … Read more

How to use wp.hooks.addAction() in React JS/Gutenberg?

How to use wp.hooks.addAction? It’s basically like so, just like you’ve attempted: // Hook to the hook_name action. wp.hooks.addAction( ‘hook_name’, ‘namespace’, function(){ console.log( ‘Foo Bar’ ); } ); // Trigger the hook_name action. wp.hooks.doAction( ‘hook_name’ ); Or for hooks which provides one or more parameters to the callback: // Hook to the hook_name action. wp.hooks.addAction( … Read more

Help Unregistering a Core Block Type in Gutenberg

Everything works for me with allowed_block_types hook. Example: add_filter( ‘allowed_block_types’, ‘my_function’ ); function my_function( $allowed_block_types ) { return array( ‘core/paragraph’ ); } You can insert the above code to your functions.php file to a custom plugin. It removes all blocks except the Paragraph block. More examples here https://rudrastyh.com/gutenberg/remove-default-blocks.html

Creating conditional blocks for WordPress Gutenberg

In the edit method for your custom block, when rendering the components you can use the “conditional + &&” pattern: <PanelBody title={ __( ‘My Panel’ ) } > { myCustomBool && <MyComponent value={theValue} onChange={ value => { myChangeCallback(value); } } /> } { ‘marmots’ !== myCustomThing && <MyOtherComponent value={theValue} onChange={ value => { myOtherCallback(value); } … Read more