The render_block() WordPress PHP function renders a single parsed block object into an HTML string.
Usage
Here’s a generic example of how to use the function:
$parsed_block = parse_blocks($content); $html_output = render_block($parsed_block[0]);
Parameters
- $parsed_block (array): A single parsed block object, required.
More information
See WordPress Developer Resources: render_block
Examples
Render the First Block of a Post
This example retrieves the first block of a post and renders it as an HTML string.
// Get the post content $post = get_post(); $content = $post->post_content; // Parse the content into blocks $blocks = parse_blocks($content); // Render the first block $html_output = render_block($blocks[0]); // Display the HTML output echo $html_output;
Render a Custom Block
This example creates a custom block and renders it as an HTML string.
// Create a custom block $custom_block = array( 'blockName' => 'core/paragraph', 'attrs' => array(), 'innerContent' => array('Hello, World!') ); // Render the custom block $html_output = render_block($custom_block); // Display the HTML output echo $html_output;
Render All Blocks of a Specific Type
This example renders all paragraph blocks in a post’s content.
// Get the post content $post = get_post(); $content = $post->post_content; // Parse the content into blocks $blocks = parse_blocks($content); // Loop through the blocks and render paragraph blocks foreach ($blocks as $block) { if ($block['blockName'] === 'core/paragraph') { $html_output = render_block($block); echo $html_output; } }
Render Nested Blocks
This example renders the inner blocks of a group block.
// Get the post content $post = get_post(); $content = $post->post_content; // Parse the content into blocks $blocks = parse_blocks($content); // Loop through the blocks and render inner blocks of a group block foreach ($blocks as $block) { if ($block['blockName'] === 'core/group') { $inner_blocks = $block['innerBlocks']; foreach ($inner_blocks as $inner_block) { $html_output = render_block($inner_block); echo $html_output; } } }
Render Block with Custom Attributes
This example creates a custom paragraph block with custom attributes and renders it as an HTML string.
// Create a custom block with custom attributes $custom_block = array( 'blockName' => 'core/paragraph', 'attrs' => array( 'fontSize' => 'large', 'style' => array( 'color' => array( 'text' => '#ff0000' ) ) ), 'innerContent' => array('Hello, World!') ); // Render the custom block $html_output = render_block($custom_block); // Display the HTML output echo $html_output;