Parses dynamic blocks out of post_content and re-renders them.
Parameters
$contentstringrequired- Post content.
Source
function do_blocks( $content ) {
$blocks = parse_blocks( $content );
$output = '';
foreach ( $blocks as $block ) {
$output .= render_block( $block );
}
// If there are blocks in this content, we shouldn't run wpautop() on it later.
$priority = has_filter( 'the_content', 'wpautop' );
if ( false !== $priority && doing_filter( 'the_content' ) && has_blocks( $content ) ) {
remove_filter( 'the_content', 'wpautop', $priority );
add_filter( 'the_content', '_restore_wpautop_hook', $priority + 1 );
}
return $output;
}
Changelog
| Version | Description |
|---|---|
| 5.0.0 | Introduced. |
You can see this function as an equivalent of do_shortcode. For example, it’s possible to render the Site Logo block that way:
echo do_blocks( <!-- wp:site-logo /--> );