I ended up writing a function that wraps the <p> tags in the block comments. This forced the content to be individual paragraph blocks in the editor. My content was only paragraphs but other block types would need to be implemented as well.
function blockify_content($content) {
//remove empty <p>
$pattern = "/<p[^>]*><\\/p[^>]*>/";
$content = preg_replace($pattern, '', $content);
//add block comments
$search = array('<p', '</p>');
$replace = array('<!-- wp:paragraph --><p', '</p><!-- /wp:paragraph -->');
$content = str_replace($search, $replace, $content);
return $content;
}
Related Posts:
- How to serialize a Gutenberg block from block attributes in PHP?
- Removing Default Gutenberg Blocks, But Keeping Reusable Block Functionality?
- is_admin returning false in backend in server side rendered block
- Gutenberg Blocks doesn’t render correctly when using do_blocks
- add_meta_boxes action with refresh on save
- Gutenberg custom block using only register_block_type() and HTML
- Include a Gutenberg Block in a PHP file
- Create custom blocks for bootstrap
- How to return output of the new wp gallery block for automatically Link images To Media file
- Register JS for block on frontend only
- Displaying admin notices inside the block editor from rest_after_insert_{$this->post_type} hook
- How to programmatically add Gallery Block to Existing Post Content
- Best way to add more options to Gutenberg “More Rich” text controls drop down
- Fetch post block/field data as JSON with WordPress API
- Gutenberg block – Save PHP function’s output as HTML?
- Where to find documentation for CPT block template? (PHP)
- Generate YouTube image thumbnail in a Gutenberg block – ACF + Timber
- Add class to group inner container
- Multiple requests external data api dynamic block gutenberg
- How to keep the capability of users and disable Gutenberg editor in WordPress?
- parsing nested blocks (in columns, etc) via PHP
- Passing the name of selected color from the custom component to `render_callback`
- InnerBlocks with allowedBlocks not working with acf_register_block
- Guttenburg and Classic Editor – How to use the custom guttenburg block in classic editor?
- How to render a block from php template
- Want to unrestrict plugin block
- WordPress – Get Posts with Category data
- Additional file upload in Gutenberg page options/featured image
- Add Block Before Entry Title Using PHP
- How to populate a Gutenberg select field SelectControl with option value from PHP array
- Gutenberg Blocks and get_option() for styling
- How to extend SelectControl with data from my theme
- Copying and pasting to WordPress “code editor” code via the front end and clipboard
- Gutenberg block don’t save rich text content
- Is there a PHP function that will return the block ID generated by WordPress?
- register_block_type is not working properly
- Categories does not show Block editor WordPress
- Block that renders html saved in a php file
- Show Gutenberg facebook embed with a custom theme
- Gutenberg – render_callback does not pass ToggleControl value on frontend
- Add default block css when the block has been added with php?
- Custom Post Type doesn’t have template content when creating programmatically in PHP but does when created in WP Admin
- How to add different menu items on different menus?
- How to enable REST API on custom post type without Gutenberg?
- Replace block content with an array
- Include a static block inside of a dynamic block
- WordPress Block Editor Gutenberg running code inside ! is_admin()
- Manipulating the allowed inner blocks of a core-gutenberg-block?
- Adding features to Gutenberg without theme.json
- Registering a custom block style
- Get column block count using PHP method render_block
- do_blocks not working with a custom block
- How to edit templates created in the block editor in code / template files not updating
- Add custom data attribute to every core Gutenberg Blocks
- Embed dynamic media query in a Gutenberg block
- Get generated block styles programmatically
- When a foreach loop is used multiple times in blocks, is there a way to ensure a variable always has a unique value?
- How to get the post title inside a custom block in a loop? block.js
- How to display only the first 2 words of a post title
- How to get the content of a dynamic block in PHP
- Set custom post type to load custom block pattern by default
- How to automatically apply woocommerce product title to all product images alt tags?
- How to Use the Function is_user_logged_in To Display Different Menus?
- Keep salts when moving a site?
- Why WordPress uses `endwhile;` inside the templates?
- How do I dynamically generate args for wp_query?
- How to add a dynamic javascript snippet to the footer that requires jQuery
- How can I get the page or post language when I use wpml? [closed]
- Transferring working local PHP site to wordpress – with database (MySQL)
- Ordering users by custom user meta
- Databases – Submitting data from inputs to database [closed]
- Resize image to specific dimension (X to Y ratio)
- How to keep track of when a vote is cast?
- Redirection after submitting duplicate comment
- Fatal error: Uncaught Error: Call to undefined function get_header() [closed]
- blank white page when post/update/change option etc
- Incrementing PHP variable onclick to display posts by month
- WordPress PHP syntax doesn’t seem to be working correctly
- Is it possible to restrict files from your wordpress uploads (not logged-in users or guest)?
- Adding attribute to the post.php form tag in wp-admin
- limit number of post for achive page
- Problem in replacing the_content with the_excerpt()
- Is there way to toggle the publish date display?
- Need to add a post’s featured image to a section on the frontpage
- Variation prices breakdown only for single product page
- How to use wp_ajax_set_post_thumbnail?
- Best way to use variables in multiple functions?
- Passing a value from an input field to a php function in WordPress?
- Get product price in a different currency using WooCommerce Currency Switcher
- Cannot fetch posts with certain ‘product_cat’. WP_Query is empty
- WordPress files break if I edit them, but adding a closing PHP tag fixes it
- Displaying logged in user name
- How to detect if a revision was made by woocommerce or wordpress?
- Create a hierarchical loop at predefined markup requirements
- Setting ‘post_format’
- nested divs, classes for a grid in loop [duplicate]
- Why can’t I include echo inside a variable? [closed]
- WP_Query not returning results
- How do I link the side images?
- Resolving Google Search Console Error: Video Too Tall for Embedded YouTube URLs